MFC
web安全工具库
这个作者很懒,什么都没留下…
展开
-
MFC编程 -- 列表删除单行及多行操作
一、添加删除按钮二、删除单行操作void C管理系统Dlg::OnBnClickedButton3(){ CListCtrl* 列表句柄 = (CListCtrl*)GetDlgItem(IDC_LIST3);//获取列表句柄 int 删除的行号 = 列表句柄->GetSelectionMark();//获取选中的行号 列表句柄->DeleteItem(删除的行号);//通过行号删除内容}三、删除多行操作1、在头文件声明一下函数,否则cpp里面无法识原创 2022-05-30 10:17:06 · 961 阅读 · 1 评论 -
MFC编程 -- 保存和读取列表框内容
一、新建一个结构体在pch.h新建一个结构体,将列表里面的一行内容当做一个结构进行保存struct 列表结构{ TCHAR 专辑[20]; TCHAR 主打歌[20]; int 年份; TCHAR 时长[20];};二、将列表的内容保存到文件HANDLE 文件句柄 = CreateFile(_T("./aiyou.txt"), GENERIC_WRITE,FILE_SHARE_READ,NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NOR原创 2022-05-30 10:15:02 · 1241 阅读 · 0 评论 -
MFC编程 -- 高级列表框添加数据
一、设计界面,添加按钮、编辑框、高级列表框二、高级列表框的视图属性设置:Report,其他控件属性修改一下名字即可。三、初始化的时候设置好列表的列名CListCtrl* 列表句柄 = (CListCtrl*)GetDlgItem(IDC_LIST3);//获取列表的句柄 列表句柄->InsertColumn(0, _T("专辑"), 0, 100);//第一列设置为专辑,0左对齐,100列宽 列表句柄->InsertColumn(1, _T("主打歌"), 2,原创 2022-05-29 15:20:19 · 1256 阅读 · 0 评论 -
MFC应用程序 -- 记事本
一、新建一个MFC应用,添加编辑框控件二、修改相关属性,实现先前的功能,省了很多代码1、调整大小类型为:两者2、多行:True3、想要返回:True(编辑框换行)4、Auto HScroll:False三、运行效果:欢迎关注编程有你公众号,每天学点编程知识...原创 2022-05-29 15:18:49 · 258 阅读 · 0 评论 -
MFC应用创建计算器
一、新建MFC应用二、选择设置程序相关类型三、设计界面,还以计算器为例四、双击按钮,自动跳转到按钮事件void CMFC应用Dlg::OnBnClickedButton1(){ int a = GetDlgItemInt(IDC_EDIT1); int b = GetDlgItemInt(IDC_EDIT2); SetDlgItemInt(IDC_EDIT3, a + b); // TODO: 在此添加控件通知处理程序代码}欢.原创 2022-05-29 15:17:18 · 120 阅读 · 0 评论 -
MFC编程 -- 添加菜单
一、新建资源菜单二、编辑菜单文件(&F)新建(&N\tCtrl+N)三、将菜单绑定到窗口1、在初始化操作实现绑定case WM_INITDIALOG: 窗口初始化(hwndDlg);//窗口启动时运行 绑定菜单栏(hwndDlg);break;2、实现绑定代码int 绑定菜单栏(HWND hDlg){ auto 菜单句柄=LoadMenu(窗口句柄,(LPCTSTR)IDR_MENU1);/.原创 2022-05-29 15:15:17 · 1033 阅读 · 0 评论 -
MFC编程 -- 编辑框随窗口改变大小
一、源代码1、需要WM_SIZE消息case WM_SIZE: return 控件随窗口改变大小(hwndDlg,wParam,lParam);2、实现代码int 控件随窗口改变大小(HWND hDlg, WPARAM wParam, LPARAM lParam){ HWND 编辑框句柄 = GetDlgItem(hDlg, IDC_EDIT1);//返回编辑框的句柄 int x = LOWORD(lParam);//获取窗口右下角x坐标 int y原创 2022-05-26 21:43:30 · 277 阅读 · 0 评论 -
MFC编程 -- 读取文件内容
一、源代码1、读文件BOOL 读文件(HWND hDlg,LPCTSTR sfile){ auto 文件指针 = _tfopen(sfile,_T("rb"));//获取操作文件的指针 int 文件大小 = 获取文件大小(文件指针); char* 读取的内容 = new char[文件大小 + 2];//unicode是两个0结尾 int n = fread(读取的内容,1,文件大小,文件指针); fclose(文件指针); 读取的内容[n] =原创 2022-05-26 21:41:16 · 1719 阅读 · 0 评论 -
MFC编程 -- 实现拖拽文件获取路径
一、设置界面,拖拽一个编辑框到窗口,设置好大小,将接收文件属性改为true二、源代码1、添加消息事件case WM_DROPFILES: return 拖拽文件(hwndDlg, (HDROP)wParam);2、获取文件路径int 拖拽文件(HWND hDlg,HDROP hDrop){ TCHAR str[256]; int n = DragQueryFile(hDrop, -1, NULL, 0); if (n <= 0)原创 2022-05-26 21:39:51 · 771 阅读 · 0 评论 -
MFC编程 -- 记事本项目(大体框架)
一、新建空项目,属性设置为窗口二、新建一个CPP文件,添加一个dialog资源三、编写主框架代码#define _CRT_SECURE_NO_WARNINGS#include <Windows.h>#include <Windowsx.h>#include "resource.h"#include <tchar.h>INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevIn..原创 2022-05-19 11:03:57 · 262 阅读 · 0 评论 -
MFC编程 -- 判断是否按下ctrl和shift键
一、源代码TCHAR s[256]; _stprintf_s(s,_countof(s),_T("x坐标:%d,y坐标:%d"),x,y); if (wParam & MK_CONTROL) { _tcscat(s,_T("您按下了Ctrl键")); } if (wParam & MK_SHIFT) { _tcscat(s, _T("您按下了S原创 2022-05-19 11:00:37 · 908 阅读 · 0 评论 -
MFC编程 -- 获取鼠标坐标位置
一、源代码int x = GET_X_LPARAM(lParam);int y = GET_Y_LPARAM(lParam);TCHAR s[256];_stprintf_s(s,_countof(s),_T("x坐标:%d,y坐标:%d"),x,y);SetWindowText(hwndDlg, s);二、函数解析1、GET_X_LPARAM:获取鼠标x坐标(需要包含头文件)2、GET_Y_LPARAM:获取鼠标y坐标(#include <Windowsx.h>)原创 2022-05-19 10:57:39 · 2720 阅读 · 0 评论 -
MFC编程 -- 运行窗口居中显示
一、源代码int 窗口初始化(HWND hDlg){ RECT rect; GetWindowRect(hDlg,&rect);//获取窗口高宽 int px = GetSystemMetrics(SM_CXFULLSCREEN);//获取屏幕高宽 int py = GetSystemMetrics(SM_CYFULLSCREEN); int wx = rect.right - rect.left; int wy = rect.bottom -原创 2022-05-15 21:18:22 · 674 阅读 · 0 评论 -
MFC编程 -- 浮点数与字符串之间转换
一、重新涉及界面二、编写代码if (nID == IDC_JISUAN2) { TCHAR str[15]; GetDlgItemText(hWnd,IDC_EDIT4,str, _countof(str)); double l = _tstof(str); GetDlgItemText(hWnd, IDC_EDIT5, str, _countof(str)); double r = _tstof(st原创 2022-05-15 21:16:38 · 1000 阅读 · 0 评论 -
MFC编程 -- 从空项目开始到实现计算器功能
二、右击源文件,添加一个cpp文件,名字随便取三、编写代码,添加程序入口函数#include <Windows.h>INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, INT nCmdShow) //相当于main函数{return 0;}四、右击项目,查看属性,修改链接器,因为我们编写的是窗口程序,所以将子系统修改为窗口五、代码编写信息框原创 2022-05-15 21:15:20 · 300 阅读 · 0 评论 -
游戏辅助 -- 走路call中ecx值分析
一、上节课找到了走路call,进call里面,有个ecx的值,直接拿来用了,所以要找ecx的来源二、在函数头部下断,走路,让程序断下来,在堆栈窗口按回车,跳转到来源三、ecx来自ebx,继续往上找ebx来源四、ebx来自eax,eax来自call 4d4db0,pushebx,下面有个popebx,下面正好有5个参数和addesp,14平栈五、进call,里面有fs:[2C],运行汇编代码的时候必须在挂在主线程六、项目及工具下载关...原创 2022-05-08 19:08:33 · 785 阅读 · 0 评论 -
游戏辅助 -- DLL窗口实现人物走动
往期文章游戏辅助 -- 获取人物属性代码编写游戏辅助 -- 人物属性分析游戏辅助 -- 走路call分析一、重新设置窗口界面二、设置编辑框的类型,右击编辑框,添加变量,将变量类型设置为float,类别为值,名称随便起一个就好三、走路的主要代码 this->UpdateData(1); printf("%f,%f,%f", x值, Y值, Z值); UINT_PTR 走路call = 0x727400;原创 2022-05-08 19:07:16 · 835 阅读 · 0 评论 -
游戏辅助 -- 走路call分析
往期文章游戏辅助 -- 获取人物属性代码编写游戏辅助 -- 人物属性分析一、打开游戏,按ESC,选择界面,选择鼠标,点击移动,可以试着搜索1为打对钩的状态,0为没打对钩的状态,也可以反过来测试0为打钩的状态二、CE载入游戏进程,不停的搜索0和1,直到搜索到很少的结果三、右击第一个地址,查看什么访问了该地址,切换到游戏界面,鼠标点击地名,让人物走动一下四、发现没有数据,然后切换到第二个地址,查看什么访问了该地址五、用OD打开游戏进程,ctrl+.原创 2022-05-08 19:05:50 · 1406 阅读 · 0 评论 -
游戏辅助 -- 获取人物属性代码编写
一、在上节课DLL注入窗口我们已经实现了注入dll,这节课我们利用线程注入 DWORD WINAPI 窗口函数地址(LPVOID arg){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); DLLTEST dt; dt.DoModal(); FreeLibraryAndExitThread(theApp.m_hInstance, 123);//自动卸载dll原创 2022-05-05 08:40:07 · 440 阅读 · 0 评论 -
游戏辅助 -- 人物属性分析
一、打开CE,载入游戏进程二、打开人物属性,查看护甲的值是52三、在CE搜索精确数值52,点击首次扫描,搜索结果有7000多数据四、让护甲值变动,通过穿戴装备,此时搜索59五、点击在此扫描,只有一个内存地址存放了该值六、右击该地址,选择找出是什么访问了这个地址,然后再通过换装备,找到访问该内存地址的值七、一共有5条指令访问了该内存地址八、一般找寻mov寄存器,[表达式]这样的访问,在OD中挨个地址下断点,发现004F54DA - 8B B4 90.原创 2022-05-04 10:35:46 · 472 阅读 · 0 评论 -
MFC编写DLL窗口功能代码
一、在上节课内容上,添加两个按钮,并修改相应的属性值二、编写吃苹果的功能,双击按钮进入代码区void DTCK::OnBnClickedButton1(){ int pg = 0xbf1366; _asm { push 111 call pg add esp,4 } // TODO: 在此添加控件通知处理程序代码原创 2022-05-03 21:35:02 · 381 阅读 · 0 评论 -
MFC创建带窗口的DLL
一、新建MFC动态链接库项目二、选择相应的地址及项目名称三、右击项目的资源文件,添加资源,选择DIalog四、右击新建的窗口,添加MFC类,点击确定,会自动生成一个头文件和一个cpp源文件五、回到项目源文件,在testdt的源文件里面,包含刚刚生成的DTCK.h文件,并在初始化代码以模态的方式显示窗口#include "DTCK.h"BOOL CtestdtApp::InitInstance(){ CWinApp::InitInstance(); .原创 2022-05-03 21:32:43 · 803 阅读 · 0 评论 -
MFC -- 网络通信编程
要买东西的时候,店家常常说,你要是真心买的,还能给你便宜,你看真心就是不怎么值钱。。。---- 网易云热评一、创建服务端1、新建一个控制台应用程序,添加源文件server2、添加代码框架#include <iostream>#include<WinSock2.h>#pragma comment(lib,"ws2_32.lib")//包含库文件int main(){ return 0;}3、初始化socket库WSAData wd = { 0 .原创 2021-01-20 10:26:16 · 502 阅读 · 1 评论 -
MFC控件介绍(三)
我碰到了一个男孩,前几年活泼开朗,现在满身疲惫,两眼无光,我很想安慰他,于是,我伸手碰了碰镜子。。。---- 网易云热评一、列表控件1、显式方式图标:LVS_ICON小图标:LVS_SMALLICON列表:LVS_LIST详细信息:LVS_REPORT 2、相关类CListCtrl3、更改列表控件的显式方式:ModifyStyle4、添加选项:InsertItem5、添加列:InsertColumn6、设置选项的附加数据:SetItemData...原创 2021-01-19 11:12:41 · 325 阅读 · 0 评论 -
MFC控件间介绍(二)
今天有一点想你,其实,不止一点,其实,不止今天。。。----网易云热评一、组合框添加控件并绑定变量1、相关类:CComboBox2、添加选项:AddString m_combo.AddString("北"); m_combo.AddString("上"); m_combo.AddString("广"); m_combo.AddString("深");修改控件属性:sort设置为false,不会重新排序3、删除选项...原创 2021-01-12 20:11:01 · 138 阅读 · 0 评论 -
MFC控件介绍(一)
如果两个人恋爱后,你发现你的对象越来越丑,而你越来越漂亮,那么说明你爱对了人。。。---- 网易云热评一、复选框1、获取复选框状态CButton::GetCheck2、设置复选框状态CButton::SetCheck3、类向导添加成员变量绑定控件4、设置为默认打钩m_check.SetCheck(1);5、运行结果:6、类向导添加复选框被点中事件7、添加被单击要执行的内容void CMFCDialogDlg::OnClickedCheck...原创 2021-01-11 16:32:47 · 459 阅读 · 0 评论 -
MFC应用程序对话框架构
喜欢大概就是:在我们俩对视的一瞬间,我突然就避开了你的视线,而当你走过去的时候,我却在你背后看了你好久。。。---- 网易云热评一、新建MFC应用程序项目,项目名称不能用中文二、选择对话框架构三、生成的类的基类修改一下四、添加一个按钮button1五、通过类向导添加单击事件,也可以直接双击上面的button1按钮,自动添加单击事件六、添加要执行的语句void CMFCDialogDlg::OnClickedButton1(...原创 2021-01-08 13:44:34 · 144 阅读 · 2 评论 -
MFC对话框构架程序
遗憾的是:从来没有被坚定选择过,就像是,他只是刚好需要,你只是刚好在。。。---- 网易云热评一、对话框架构分类1、模式对话框,弹出来不能进行其他操作2、无模式对话框,弹出来后可以进行其他操作二、新建win32应用程序(模式对话框)1、创建2、修改属性3、添加Dialog资源4、包含头文件#include <afxwin.h>#include "resource.h"5、定义一个类,管理对话框资源class CM...原创 2021-01-06 18:57:33 · 293 阅读 · 1 评论 -
MFC序列化及反序列化对象
总有一天你会明白什么是爱,当你坐车来回几百公里去看一个人的时候,在路上你就会明白。。。---- 网易云热评一、序列化类对象1、使用方法:必须满足下面四个条件类必须派生CObject类内必须添加声明宏DECLARE_SERIAL类外必须添加实现宏IMPLEMENT_SERIAL类必须重写CObject::Serialize虚函数class Student :public CObject { //声明宏 DECLARE_SERIAL(Stude...原创 2021-01-01 15:08:44 · 283 阅读 · 0 评论 -
MFC文件操作
嘴硬到底是什么概念,大概就是,你问我是怎么想的,其实我眼泪都要掉下来了,但我还是说了句,算了,就这样吧。。。---- 网易云热评一、创建windows桌面向导设为启动项、修改静态MFC、多字节二、创建和打开文件void File() { CFile file; //modeCreate:没有就创建,有直接打开 //modereadwrite:读写方式打开 file.Open("E:/a.txt",CFile::modeCrea..原创 2020-12-30 13:45:48 · 306 阅读 · 0 评论 -
MFC绘图操作
有些事说出来显得我不大度,但我确实不开心,如果你不懂我,那错的都是我。。。----网易云热评一、新建MFC应用程序二、在菜单栏新加画图项三、类向导添加绘图命令,项目---类向导四、显示aiyou代码void CMFC绘图View::OnHuahua(){ //创建对象,在视图对象里画 CClientDC dc(this); dc.TextOutA(100, 100, "aiyou");//::Te...原创 2020-12-28 10:30:21 · 1514 阅读 · 0 评论 -
MFC多文档视图
你可以因为现任不好而分手,但千万不要认为别人更好,永远有人更好,眼下便是更好。。。---- 网易云热评一、 多文档视图架构程序1、特点: 可以管理多个文档。(可以有多个文档类对象)2、相关类CWinApp / CMDIFrameWnd / CMDIChildWnd / CView / CDocument-文档类CDocManager - 文档管理类CDocTemplate - 文档模板类 CMultiDocTemplate - 多文档模板类3、关系图theAp...原创 2020-12-24 13:46:22 · 518 阅读 · 0 评论 -
MFC应用程序单文档及类向导的使用
我想不起来第一次看见你的时候,你穿的衣服是什么颜色,是晴天还是雨天,因为我从未想到,那天之后我会这么喜欢你。。。---- 网易云热评一、选择MFC应用程序二、配置新项目三、应用程序类型四、后面都选择默认,直接点击完成就行五、类向导,添加一个双击消息1、项目--类向导2、命令:处理ON_COMMAND消息3、消息:除了COMMAND消息以外的消息4、代码自动添加相应的头文件和源文件void CMFC单文档View::...原创 2020-12-22 08:52:31 · 976 阅读 · 0 评论 -
MFC单文档视图架构
其实所有的节日,都不是为了礼物和红包而生,而是提醒我们不要忘记爱与被爱,生活需要仪式感,而你需要的是在乎和关爱。。。---- 网易云热评一、特点只能管理一个文档二、相关类CWinApp / CFrameWnd / CView / CDocument - 文档类CDocManager - 文档管理类CDocTemplate - 文档模板类CSingleDocTemplate - 单文档模板类三、实例1、添加三大框架,动态创建class CMyD...原创 2020-12-17 19:49:51 · 542 阅读 · 0 评论 -
MFC文档类视图接收字符串
他在二楼,你在一楼,如果他没有看你的话,那为什么你们会对视呢?---- 网易云热评一、文档类处理数据1、通过消息处理传递数据,并用UpdateAllViews刷新和文档对象关联的所有视图类对象classCMyDoc :public CDocument { DECLARE_MESSAGE_MAP()public: CString str;afx_msg voidxinjian();};BEGIN_MESSAGE_MAP(CMyDoc, CDocument) ON_C..原创 2020-12-16 21:57:44 · 113 阅读 · 0 评论 -
MFC文档视图
女孩可以在社会上遇到比在学校更优秀的男生,而男生在社会上或许再也遇不到比学校里更优秀的女生了。。。---- 网易云热评一、作用文档就是提供用于管理数据模块文档类CDocument,父类CCmdTarget,封装了文档类和视图类关系二、实例1、创建桌面应用程序,导入头文件2、添加类class CMyDoc :public CDocument {};//派生CEditView不用重写Ondrawclass CMyView :public CEditView { DECLA原创 2020-12-15 21:09:48 · 214 阅读 · 0 评论 -
MFC视图窗口动态分割
很多年后的同学聚会,酒过三巡,他对当年暗恋的女同学说:你知道为什么以前每次下课我都找你问问题么?大伙哄堂大笑,等着她脸红,她平静的看着他,抿了抿嘴角:你有没有想过,那时候我为什么总在座位上,不出去玩呢。。。---- 网易云热评一、定义CSplitterWnd类对象二、 在重写CFrameWnd::OnCreateClient虚函数时1、利用CSplitterWnd::Create函数,创建不规则框架窗口。三、实例1、创建桌面应用程序,导入头文件2、添加类,实现动态创...原创 2020-12-14 20:23:44 · 705 阅读 · 0 评论 -
MFC的视图窗口
如果那两个字没有颤抖,我不会发现我难受,那两个字是如果?分手?还是。。你好?---- 网易云热评一、视图窗口作用提供一个专门用于显示数据的窗口,并和用户进行交互二、相关类CView类,(父类为CWnd),封装了关于视图窗口的各种操作三、视图窗口的使用1、添加画图的宏ON_WM_PAINT()2、声明该方法afx_msg void OnPaint();3、重写方法void CMyFrameWnd::OnPaint() { PAINTSTRU...原创 2020-11-30 20:27:16 · 554 阅读 · 0 评论 -
MFC工具栏和状态栏
小学用6年来期盼初中,初中用三年来渴望高中,高中用三年来憧憬大学,大学用四年来回忆小学到高中,青春就这样结束了。。。---- 网易云热评相关类:CToolBarCtrl - 父类为CWnd,封装了关于各种工具按钮的操作CToolBar - 父类为CControlBar,封装了工具栏和框架窗口之间关系一、添加工具栏资源1、删除按钮时,点击按钮拖拉到其他地方2、移动按钮位置时,轻轻往后拖拉二、创建工具栏CToolBar::Create / CTool...原创 2020-11-27 08:30:39 · 685 阅读 · 0 评论 -
MFC的菜单栏介绍
小时候偷偷吃泡面,长大后偷偷吃泡面,小时候怕爸妈知道,长大后怕爸妈知道,以前没钱吃泡面,现在没钱吃泡面。。。---- 网易云热评一、菜单栏1、CMenu:封装了关于菜单的各种操作,还封装了一个非常重要的成员变量,m_hMenu(菜单句柄)2、创建框架#include <afxwin.h>//创建自己的框架类class CMyFrameWnd :public CFrameWnd //CCmdTarget是CFramWnd的子类{ };class CMywinA.原创 2020-11-26 15:46:55 · 864 阅读 · 0 评论