我用钩子捕获键盘消息却不成功

shang0636 2002-03-29 11:15:07
我写了一个捕获系统中键盘消息的函数如下:
HHOOK HookKeyBoardProc; //全局变量
HookKeyBoardProc=SetWindowsHookEx(WH_KEYBOARD,KeyBoardProc,
0,GetCurrentThreadId());

LRESULT CALLBACK KeyBoardProc(int code,WPARAM wParam,LPARAM lParam)
{
int nChar;
nChar=(DWORD)wParam;

if(code>=0)
{
//这里加入处理过程
if((nChar>64&&nChar<91)||(nChar>96&&nChar<123)) //a-z,A-Z
MessageBox(hWnd,"get message","OK",MB_OK);
}

return CallNextHookEx(HookKeyBoardProc, code,wParam, lParam);

}
不过只有当程序处于活动状态是彩灯不活到消息,在非活动是则不可以,且在击一次键调用两次
MessageBox(hWnd,"get message","OK",MB_OK);清打击帮忙解决以下,如何在非活动状态下捕获到其他消息
...全文
32 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
delphihero 2002-03-30
  • 打赏
  • 举报
回复
你的不是全局的hook,全局的 hook 函数要写在dll中。启动 hook 后你的 dll便会注入到别的程序中
hyc1980 2002-03-30
  • 打赏
  • 举报
回复
写进dll后就可以hook系统的消息了
hyc1980 2002-03-30
  • 打赏
  • 举报
回复
把这个回调函数写进dll里就可以了

1,650

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧