Win32编程
hlq1998
这个作者很懒,什么都没留下…
展开
-
windows核心编程第一章
今天修改了一下CmnHdr.h的chHANDLE_DLGMSG宏,编译通过了。消息处理宏HANDLE_MSG只能用于窗口过程,不能用于对话框过程。首先看窗口过程和对话框过程的差别:1.窗口过程返回LRESULT(即LONG);对话框过程返回BOOL(即int,不过VC.NET自动生成的代码为LRESULT。);2.窗口过程处理完一条消息后,一般返回0;而对话框过程一般处理完一条消息后,返回TRUE原创 2005-07-18 17:38:00 · 1078 阅读 · 0 评论 -
一个键盘钩子程序(sdk实现)
改自“Delphi下深入Windows核心编程”56页HookKey程序。原来的Delphi代码使用DEMO控件来显示键盘输入,采用VC后改用多行编辑EDIT控件来显示。程序的思路是当DLL截获键盘消息后,向主程序发送一条自定义的消息,然后主程序将键盘输入显示在对话框中的编辑控件里。关键是采用共享节保存主程序的窗口句柄,并且在DLL中导出该句柄,这样主程序可以在初始化的时候给该句柄赋值,而DLL获原创 2005-08-05 11:03:00 · 1586 阅读 · 0 评论 -
一个进程查看器的sdk实现
进程查看器,改自《delphi下深入Windows核心编程》74页。用sdk编程时主要注意几点:1.用属性表作主界面,可调用PropertySheet函数,该函数只有一个参数:指向PROPSHEETHEADER结构的指针。它的作用相当于创建模态对话框函数DialogBox。调用PropertySheet函数会生成一个属性表对话框,不过它没有对话框过程,只有一个回调函数。一般不用定义该回调函数,除非原创 2005-08-23 17:44:00 · 1169 阅读 · 1 评论 -
钩子句柄不必放在共享节里
绝大多数的介绍钩子的文章都这么强调,对于系统范围的远程钩子(system-wide remote hook),一定要把钩子句柄放在共享节里。比如下面这篇介绍键盘钩子的文章:......(5)在KeyboardHook.cpp文件的顶部加入全局共享数据变量:#pragma data_seg("mydata") HHOOK glhHook=NULL; //安装的鼠标勾子句柄原创 2005-08-25 15:41:00 · 1065 阅读 · 2 评论