简单的键盘钩子问题
月光莫利亚 2005-08-22 10:28:02 我创建了一个单文档程序,用来测试线程内键盘钩子,步骤如下:
1 定义全局变量HHOOK hHookkey;
2 定义全局钩子函数LRESULT CALLBACK KeyProc(int nCode, WPARAM wParam, LPARAM lParam)
3 在程序的CView类的构造函数中安装钩子hHookkey=SetWindowsHookEx(WH_KEYBOARD,KeyProc,0,GetCurrentThreadId());
4 在程序的CView类的析构函数中卸载钩子
if(hHookkey)
UnhookWindowsHookEx(hHookkey);
然后编译运行程序,点击键盘,可以进入钩子函数KeyProc中,但奇怪的是参数LPARAM lParam指向的内存地址为空,导致对lParam的任何转换都会使程序出错,请各位高手帮忙指点一下!