12 2019 档案
什么是句柄?
摘要:我们可以这样理解Windows句柄: 数值上,是一个32位无符号整型值(32位系统下);逻辑上,相当于指针的指针;形象理解上,是Windows中各个对象的一个唯一的、固定不变的ID;作用上,Windows使用句柄来标识诸如窗口、位图、画笔等对象,并通过句柄找到这些对象。 下面,关于句柄,再交代一些关 阅读全文
posted @ 2019-12-31 20:38 mktest123 阅读(699) 评论(0) 推荐(0)
WINDOWS编程中的数据类型
摘要:DWORD unsigned long 32位无符号整数 HANDLE/HMODULE PVOID(void *)无特定类型指针 阅读全文
posted @ 2019-12-31 20:37 mktest123 阅读(153) 评论(0) 推荐(0)
工具栏和状态栏
摘要:在OnInitDialog()函数中添加代码: 1 if (!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS, CRect(4, 阅读全文
posted @ 2019-12-31 19:21 mktest123 阅读(196) 评论(0) 推荐(0)
在对话框中弹出右键菜单
摘要:1 void C目录选择对话框Dlg::OnContextMenu(CWnd* pWnd, CPoint point) 2 { 3 CMenu menu, *pmenu = NULL; 4 menu.LoadMenu(IDR_MENU1); 5 pmenu = menu.GetSubMenu(0); 阅读全文
posted @ 2019-12-31 14:10 mktest123 阅读(215) 评论(0) 推荐(0)
对话框实现文件拖拽
摘要:话不多说,直接上代码: 1 void C目录选择对话框Dlg::OnDropFiles(HDROP hDropInfo) 2 { 3 TCHAR szPath[MAX_PATH] = { 0 }; 4 UINT nCount = DragQueryFile(hDropInfo, 0xFFFFFFFF 阅读全文
posted @ 2019-12-31 14:08 mktest123 阅读(200) 评论(0) 推荐(0)
目录选择对话框(实用)
摘要:不多说,上代码: 1 void C目录选择对话框Dlg::OnBnClickedButton1() 2 { 3 TCHAR szPath[MAX_PATH] = { 0 }; 4 BROWSEINFO mBroInfo = { 0 };/*Contains parameters for the SH 阅读全文
posted @ 2019-12-30 23:21 mktest123 阅读(233) 评论(0) 推荐(0)
如何调用通用对话框(2)
摘要:如何让通用对话框支持多选: 1 void C通用对话框Dlg::OnBnClickedButton1() 2 { 3 CFileDialog fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELEC 阅读全文
posted @ 2019-12-30 22:18 mktest123 阅读(209) 评论(0) 推荐(0)
如何调用通用对话框(1)
摘要:通过默认构造函数来调用: void C通用对话框Dlg::OnBnClickedButton1() { CFileDialog fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("Text Files(*.txt)|*.tx 阅读全文
posted @ 2019-12-30 21:19 mktest123 阅读(211) 评论(0) 推荐(0)
对话框如何添加鼠标和键盘响应
摘要:1、添加鼠标响应: 在对话框类属性的“重写”中添加WM_MOUSEMOVE/WM_LBUTTONUP/WM_LBUTTONDOWN/WM_LBUTTONDBLCLK消息响应函数 1 void C窗口响应鼠标消息Dlg::OnLButtonDown(UINT nFlags, CPoint point) 阅读全文
posted @ 2019-12-30 19:44 mktest123 阅读(328) 评论(0) 推荐(0)
高级列表框控件的使用(2)
摘要:1 void CListCtrlDlg::OnBnClickedButton6() 2 { 3 //删除第二行 5 m_List.DeleteItem(1); 6 } 7 8 9 void CListCtrlDlg::OnBnClickedButton7() 10 { 11 //删除所有行 13 m 阅读全文
posted @ 2019-12-30 10:11 mktest123 阅读(291) 评论(0) 推荐(0)
CtrlList控件的使用方法(1)
摘要:首先在类的OnInitDialog()函数中进行列表的初始化: 1 //获取并设置扩展风格 2 DWORD style = m_List.GetExtendedStyle(); 3 m_List.SetExtendedStyle(style| LVS_EX_GRIDLINES| LVS_EX_FUL 阅读全文
posted @ 2019-12-29 18:39 mktest123 阅读(505) 评论(0) 推荐(0)
使用new和delete在堆中申请内存
摘要:具体看实例: 1 #include <iostream> 2 using namespace std; 3 //定义一个第一人称游戏的人物角色的结构体 4 struct NPC { 5 char Name[20]; 6 int age; 7 bool sex;//男=0,女=1 8 }; 9 int 阅读全文
posted @ 2019-12-29 10:22 mktest123 阅读(463) 评论(0) 推荐(0)
跳过某个函数(不让其执行)的方法(以SetTimer函数为例)
摘要:在第一个PUSH处(第一个参数压栈)修改为JMP 函数的返回地址。 For example: 修改前: 1 004010C6 6A 00 push 0 2 004010C8 . 68 E8030000 push 3E8 ; |Timeout = 1000. ms 3 004010CD . 6A 01 阅读全文
posted @ 2019-12-27 15:08 mktest123 阅读(404) 评论(0) 推荐(0)
静态调用dll导出函数
摘要:在头文件中加入#pragma comment(lib,"PatchGame\\PatchGame.lib") //当前工程目录下的PatchGame目录下的PatchGame.lib 加入关键字语句: _declspec(dllimport) For example: 1 _declspec(dll 阅读全文
posted @ 2019-12-27 10:34 mktest123 阅读(206) 评论(0) 推荐(0)
模态对话框与非模态对话框
摘要:1 CMyDialog dlg; 2 3 void CDoModelDlg::OnBnClickedOk() 4 { 5 6 /* 模态对话框显示 7 CMyDialog dlg; 8 dlg.DoModal(); */ 9 //此为非模态对话框显示,CMyDialog dlg定义要放到函数体外面, 阅读全文
posted @ 2019-12-27 10:24 mktest123 阅读(116) 评论(0) 推荐(0)
在不同对话框之间传递数据的方法
摘要:CString strText; BOOL CMyDialog::OnInitDialog() { CDialogEx::OnInitDialog(); CDoModelDlg *pMainWnd = (CDoModelDlg*) AfxGetMainWnd();//得到主对话框的指针,默认为CWn 阅读全文
posted @ 2019-12-27 10:18 mktest123 阅读(182) 评论(0) 推荐(0)
类的静态成员
摘要:在头文件???.h中定义:static int master; 在对应.cpp文件中类的外部声明(不要用static,初始化与否无所谓): 注意要加上作用域标识符。 int Student::master; class Student{ ......... } 阅读全文
posted @ 2019-12-26 22:51 mktest123 阅读(98) 评论(0) 推荐(0)
动态调用DLL的导出函数
摘要:依次通过以下三个函数进行调用 HMODULE LoadLibraryA( LPCSTR lpLibFileName); FARPROC GetProcAddress( HMODULE hModule, LPCSTR lpProcName); BOOL FreeLibrary( HMODULE hLi 阅读全文
posted @ 2019-12-20 09:44 mktest123 阅读(404) 评论(0) 推荐(0)
DLL动态链接库导出函数的方式
摘要:DLL导出函数的方式:*.def 文件或 __declspec(dllexport) 关键字: ①*.def 文件必须至少包含下列模块定义语句: 文件中的第一个语句必须是 LIBRARY 语句。此语句将 .def 文件标识为属于 DLL。LIBRARY 语句的后面是 DLL 的名称。链接器将此名称放 阅读全文
posted @ 2019-12-20 09:35 mktest123 阅读(642) 评论(0) 推荐(0)
怎么给文件打内存补丁
摘要:如果要给文件打内存补丁,需要依次使用以下4个函数: HWND FindWindow( LPCSTR lpClassName, LPCSTR lpWindowName); DWORD GetWindowThreadProcessId( HWND hWnd, LPDWORD lpdwProcessId) 阅读全文
posted @ 2019-12-20 09:26 mktest123 阅读(510) 评论(0) 推荐(0)