摘要: 创建一个线程可以使用CreateThread函数,函数的用法是: invoke CreateThread,lpThreadAttributes,dwStackSize,lpStartAddress,\ dwParameter,dwCreationFlags,lpThreadId .if eax mov hThread,eax .endif函数使用的参数定义如下:● lpThreadAttributes——指向一个SECURITY_ATTRIBUTES结构,用来定义线程的安全属性,这个结构在CreateFile函数的介绍中... 阅读全文
posted @ 2014-04-12 17:11 xuanku 阅读(1115) 评论(0) 推荐(0) 编辑
摘要: 钩子可以用来截获系统中的消息流 通过SetWindowsHookEx函数定义了监视函数的位置和监视消息的类型,这样,每当发生我们感兴趣的消息时,Windows就会将消息发送给监视函数,监视函数是一个处理消息的回调函数,也称为“钩子函数”。(会影响系统的性能)局部钩子仅钩挂属于自身进程的事件;(SetWindowsHook)远程钩子分两种:基于线程的和系统范围的(包括自身)。 1 基于线程的远程钩子用来捕获其他进程中某一特定线程的事件; 2 系统范围的远程钩子将捕捉系统中所有进程中发生的事件消息。钩 子 名 称监视消息的类型和时机WH_CALLWNDPROC每... 阅读全文
posted @ 2014-04-12 16:06 xuanku 阅读(1155) 评论(0) 推荐(1) 编辑
摘要: DLL函数头 DllEntry proc hInstDLL,dwReason,dwReserved mov eax,dwReason .if eax == DLL_PROCESS_ATTACH ;保存hInstDll ;初始化库需要的各种资源 .if 初始化成功 mov eax,TRUE ... 阅读全文
posted @ 2014-04-12 15:44 xuanku 阅读(776) 评论(0) 推荐(0) 编辑
摘要: 当设计一个可能需要申请大量内存的程序时,如何预先得知系统的配置情况呢?对此可以使用GlobalMemoryStatus函数: invoke GlobalMemoryStatus,lpBufferlpBuffer指向一个MEMORYSTATUS结构,结构的定义如下:MEMORYSTATUS STRUCT dwLength DWORD ? ;本结构的长度 dwMemoryLoad DWORD ? ;已用内存的百分比 dwTotalPhys DWORD ? ;物理内存总量 dwAvailPhys DWORD ? ;可用物理内存 dwTotalPageFile DWORD ? ;交换文件总的大小 d. 阅读全文
posted @ 2014-04-12 14:32 xuanku 阅读(628) 评论(0) 推荐(0) 编辑
摘要: GDI函数全部包括在GDI32.DLL中 include gdi32.inc includelib gdi32.lib1 When——指的是进行图形操作的时机,2 Where——指的是图形该往哪里画,3 How——了解了上面两个问题后,最后还要知道“如何画”,1\计算及刷新整个客户区的代码全部安排在WM_PAINT消息中完成一些函数会引发WM_PAINT消息,如UpdateWindow,InvalidateRect以及InvalidateRgn函数等。和WM_TIMER消息类似,WM_PAINT消息也是一个低级别的消息,虽然它不会像WM_TIMER消息一样被丢弃但Windows总是在... 阅读全文
posted @ 2014-04-12 13:19 xuanku 阅读(1260) 评论(0) 推荐(0) 编辑
摘要: .code;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>; 定时器过程;>>>&g 阅读全文
posted @ 2014-04-12 12:38 xuanku 阅读(835) 评论(0) 推荐(0) 编辑