一个钩子的问题

hyamw 2002-12-15 03:54:35
我在一个对话框应用程序中使用了一个钩子函数:LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam);
g_hKeyHook = ::SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyboardProc,(HINSTANCE)::GetCurrentThread(), 0);
想捕获系统的键盘消息。结果发现只能在这个程序中的键盘消息有效,当程序处于非活动状态时就没有响应了。应该怎么办?
如果使用DLL的话就可以,但是如何给应用程序发送消息呢?
...全文
90 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyamw 2002-12-15
  • 打赏
  • 举报
回复
我在DLL里面用FindWindow()获得对话框的句柄,但用SendMessage()发送消息时,没有作用啊。能不能给出代码?
ahalf 2002-12-15
  • 打赏
  • 举报
回复
用KeyboardProc
rivershan 2002-12-15
  • 打赏
  • 举报
回复
全局钩子必须在dll中才好使~
然后发消息可以用共享数据段或者函数参数传递/返回值或者SendMessage~

15,471

社区成员

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

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