鼠标挂钩和消息框问题
Mouse hook and messagebox problem
我试着钩住鼠标;我的MouseProc是
{
if(nCode==HC_ACTION)
{
if(wParam==WM_LBUTTONDOWN)
{
MessageBox(NULL,L"",L"",MB_OK);
return TRUE;
}
}
return CallNextHookEx(hHook,nCode,wParam,lParam);
}
我不知道为什么它会勾住我的鼠标,然后为一个鼠标左键点击产生至少10个消息框。为什么是错的?此外,我想知道我怎么能钩只是一个特定的进程存在于任务管理器,而不是钩所有现有的窗口?为此,我尝试将SetWindowsHookEx()的第四个参数设置为指定线程的id,但似乎没有任何实际钩住。(虽然hHook返回的是非null)
谢谢。
如何钩住一个特定的进程?鼠标单击是全局的。你的意思是你想要挂钩一个特定的窗口,你可以通过注入的DLL,你的子类说窗口。
至于为什么你的钩子每次点击被调用几次,MSDN是这样说的:
"每当应用程序调用GetMessage或PeekMessage函数并且有鼠标消息要处理时,系统调用此函数。"
对于初学者来说,钩子子程需要存在于DLL中。这是全局钩子的必要条件。你可以把钩子安装在一个线程ID上,这是最好的方法,但如果你需要
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 发送和十六进制消息时套接字代码C++问题
- 使用OpenSSL的SHA 512 HMAC消息身份验证的问题
- Firebase C 云消息传递背景问题
- 我无法弄清楚我的程序的问题,即使我已经查看了错误日志消息
- QT 信号插槽问题。发出信号,不调用时隙。没有警告,没有错误,没有消息
- 消息框和MB_HELP的问题
- AOT问题,消息"正在Xamarin iOS上尝试使用Pinvoke JIT编译方法"
- 发送和将消息从一个类发送到另一堂课的问题.MFC程序
- 消息框线程问题
- 如何解决从客户端接收消息时窗口冻结问题(无响应)
- 如果对象将在消息处理程序中使用,如何解决内存泄漏问题
- Google Protobuf3消息中出现多个字符串问题
- 鼠标挂钩和消息框问题
- 设计问题:消息处理组件..调用不正确的重载函数
- 使用SetWindowsHookEx钩子键盘消息的问题
- Windows (c++)上窗口消息的问题(延迟)
- 使用协议缓冲区从文件读取消息时出现问题
- msmqc++接收消息问题