1 资源文件,创建对话框

详细步骤:

1、创建一个空的Win32应用程序

2、在VC6中新增资源
File -> New -> Resource Script
创建成功后会新增2个文件:xxx.rc 和 resource.h 3、打开新创建的xxx.rc文件,在资源窗口新增一个对话框,并在对话框上新增2个按钮. 4、打开resource.h文件,观察变化:
#define IDD_DIALOG_MAIN 101
#define IDC_BUTTON_OK 1000
#define IDC_BUTTON_OUT 1001 5、通过DialogBox创建对话框 INT_PTR DialogBox(
HINSTANCE hInstance, // handle to module
LPCTSTR lpTemplate, // dialog box template
HWND hWndParent, // handle to owner window
DLGPROC lpDialogFunc // dialog box procedure
);
//----参考MSDN 6、定义Dialog消息处理函数 BOOL CALLBACK DialogProc(
HWND hwndDlg, // handle to dialog box
UINT uMsg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{ switch(uMsg)
{
case WM_INITDIALOG : MessageBox(NULL,TEXT("WM_INITDIALOG"),TEXT("INIT"),MB_OK); return TRUE ; case WM_COMMAND : switch (LOWORD (wParam))
{
case IDC_BUTTON_OK : MessageBox(NULL,TEXT("IDC_BUTTON_OK"),TEXT("OK"),MB_OK); return TRUE; case IDC_BUTTON_OUT: MessageBox(NULL,TEXT("IDC_BUTTON_OUT"),TEXT("OUT"),MB_OK); EndDialog(hwndDlg, 0); return TRUE;
}
break ;
} return FALSE ;
} 说明: 1、处理过的消息,返回TRUE 2、不处理的消息,返回FALSE

2 按钮、文本框的使用

1、获取文本框句柄:
HWND hEditUser = GetDlgItem(hDlg,IDC_EDIT_USER);
hDlg //对话框句柄
IDC_EDIT_USER //编号 2、获取文本框内容
TCHAR szUserBuff[0x50];
GetWindowText(hEditUser,szUserBuff,0x50);
hEditUser //文本框句柄
szUserBuff //输出缓冲区

3 为项目添加图标

1、加载图标
HICON hIcon;
hIcon = LoadIcon (hAppInstance, MAKEINTRESOURCE (IDI_ICON));
hAppInstance //应用程序句柄
IDI_ICON //图标编号
MAKEINTRESOURCE //用这个宏的主要原因是有的资源是用序号定义的,而不是字符串.所以要把数字转换成字符串指针 2、设置图标:
case WM_INITDIALOG :
hIcon = LoadIcon (hAppInstance, MAKEINTRESOURCE (IDI_ICON));
//设置图标
SendMessage(hDlg,WM_SETICON,ICON_BIG,(DWORD)hIcon);
SendMessage(hDlg,WM_SETICON,ICON_SMALL,(DWORD)hIcon); return TRUE;

4 对话框回调函数的定位

思路:根据前面三节逆向内容的经验,很容易判断。

5 OD消息断点的使用

思路:打开OD的windows的窗口,在Button上设置消息断点LButtonUp,然后设置内存断点。能够快速过系统函数。

零基础逆向工程30_Win32_04_资源文件_消息断点的更多相关文章

  1. 零基础逆向工程40_Win32_14_枚举窗口_模拟鼠标键盘

    1 查找窗口 1.1 代码案例 //查找指定窗口 TCHAR szTitle[MAX_PATH] = {0}; HWND hwnd = ::FindWindow(TEXT("#32770&q ...

  2. 零基础逆向工程39_Win32_13_进程创建_句柄表_挂起方式创建进程

    1 进程的创建过程 打开系统 --> 双击要运行的程序 --> EXE开始执行 步骤一: 当系统启动后,创建一个进程:Explorer.exe(也就是桌面进程) 步骤二: 当用户双击某一个 ...

  3. 零基础逆向工程31_Win32_05_提取图标_修改标题

    在程序中使用图标 1.加载图标 HICON hIcon; hIcon = LoadIcon (hAppInstance, MAKEINTRESOURCE (IDI_ICON)); hAppInstan ...

  4. 零基础逆向工程36_Win32_10_互斥体_互斥体与临界区的区别

    1 引言 讲了第二个内核对象,互斥体.前面已经学过一个内核对象,线程.这节讲两个函数,WaitForSingleObject()和WaitForMultipleObjects().因此这两个函数是根据 ...

  5. 零基础逆向工程20_PE结构04_任意节空白区_新增节_扩大节添加代码

    向代码节添加代码实现 作者经过一周不断的失败,再思考以及无数次调试终于实现. 思路:八个步骤 1. 文件拷到文件缓冲区(FileBuffer) //图示见(零基础逆向工程18之PE加载过程) 2. 文 ...

  6. Springboot 使用 JSR 303 对 Controller 控制层校验及 Service 服务层 AOP 校验,使用消息资源文件对消息国际化

    导包和配置 导入 JSR 303 的包.hibernate valid 的包 <dependency> <groupId>org.hibernate.validator< ...

  7. 零基础学python-2.17 文件、open()、file()

    今天我们来说说文件,以及跟文件有关的内建函数open和file 首先我们在python的根文件夹下建一个名为"123"的txt文本文件 文件中面我们输入一些文本 watermark ...

  8. WPF基础篇之资源文件路径

    WPF资源文件的路径 关于WPF资源文件的路径 这几天在WPF中调用资源文件的Uri时,因为是在代码里调用Uri写的Uri总是不对,要么运行直接报异常,要么说找不到资源文件.下面是我解决的整个经过和碰 ...

  9. QT_7_资源文件_对话框_QMessageBox_界面布局_常用控件

    资源文件 1.1. 将资源导入到项目下 1.2. 添加文件—>Qt -->Qt Resource File 1.3. 起名称 res ,生成res.qrc文件 1.4. 右键 open i ...

随机推荐

  1. spring 4.0 JUnit简单的Dao,Service测试

    1.AbstractTransactionalJUnit4SpringContextTests 和AbstractJUnit4SpringContextTests.我们在测试用例类要继承两种中的一个. ...

  2. [原创]Javascript 利用mousetrap.js进行键盘事件操作

    我们日常开发中,会遇到js的键盘操作,例如回车提交表单之类的.或者按下某个键执行某个方法.无意中发现一个大小不到4K的js文件,它非常方便的操作键盘事件. 自己也尝试了一下:具体代码如下: 详情可以去 ...

  3. 2、linux-compress and uncompresse

    1.单个文件 压缩 解压 gzip file1  gzip -d file1.gz或者gunzip file1.gz #file1文件即会被压缩为 file1.gz,file1原文件删除:解压后同样删 ...

  4. C++成员指针

    C++中,成员指针是最为复杂的语法结构.但在事件驱动和多线程应用中被广泛用于调用回叫函数.在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数.在这样的应用中,如果不用成员指针,编程是非常困难 ...

  5. ie浏览器float兼容性

    在最近的项目中,遇到label.input.和button显示同一行,需求如下 实现代码,框架为react.js <label class="formGrid__label requi ...

  6. python numpy 判断ndarray 中是否有 nan

    numpy.isnan(myarray).any() 下面讨论了哪一种方法的速度最快 reference: stackoverflow.com/questions/911871/detect-if-a ...

  7. Python Day22

    Django之Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 1.创建Form类 ...

  8. 洛谷P4878 [USACO05DEC]layout布局

    题目描述 正如其他物种一样,奶牛们也喜欢在排队打饭时与它们的朋友挨在一起.\(FJ\) 有编号为 \(1\dots N\) 的 \(N\) 头奶牛 \((2\le N\le 1000)\).开始时,奶 ...

  9. 谈缓存数据库在web开发中的重要性

    1.开局先抛出如下问题: ①当关系型数据库存放的数据量很大时,每次查询耗时明显变长,那么如何解决该问题? ②当业务要求单用户登录(即同一个账户有一个用户登录后,第二个用户再登录该账户要么挤出之前的登录 ...

  10. 安居客scrapy房产信息爬取到数据可视化(下)-可视化代码

    接上篇:安居客scrapy房产信息爬取到数据可视化(下)-可视化代码,可视化的实现~ 先看看保存的数据吧~ 本人之前都是习惯把爬到的数据保存到本地json文件, 这次保存到数据库后发现使用mongod ...