问题是这样的 最近做了个鼠标钩子的程序,原来使用的是SetWindowsHookEx(WH_MOUSE,MouseProc,g_hInstance,0)但由于有些鼠标事件侦听不到,所以现在改成了SetWindowsHookEx(WH_MOUSE_LL,LowLevelMouseProc,g_hInstance,0)的更低层次的鼠标钩子。要求是达到了,但发现一个问题。当hook一启动,在操作其他窗口上,如点击其最大最小化或关闭按钮时,会发现鼠标略有迟钝。而在系统的任务栏上切换窗口时,也会有迟钝的现象。一开始我以为是我在函数LowLevelMouseProc里写的代码的问题,最后只把函数置空(直接保持基本的传递)测试下来还是会出现这种现象。
请问各位这个是什么原因,有什么办法可以解决。 代码基本就是这样的:
g_hHook=SetWindowsHookEx(WH_MOUSE_LL,LowLevelMouseProc,g_hInstance,0);extern _declspec(dllexport) LRESULT CALLBACK WINAPI LowLevelMouseProc(int nCode,WPARAM wParam,LPARAM lParam)
{
//为了测试是否是代码的问题,已经被清空,但还是有上面所说的问题
return CallNextHookEx(g_hHook,nCode,wParam,lParam);
}
请问各位这个是什么原因,有什么办法可以解决。 代码基本就是这样的:
g_hHook=SetWindowsHookEx(WH_MOUSE_LL,LowLevelMouseProc,g_hInstance,0);extern _declspec(dllexport) LRESULT CALLBACK WINAPI LowLevelMouseProc(int nCode,WPARAM wParam,LPARAM lParam)
{
//为了测试是否是代码的问题,已经被清空,但还是有上面所说的问题
return CallNextHookEx(g_hHook,nCode,wParam,lParam);
}
解决方案 »
- mfc基于对话框的子对话框中的控件怎样实现随对话框大小变化控件大小也变化
- 用OpenPrinter()打开中文名字的打印机出错!!!!???
- 请问各位:在win7下运行的应用软件用什么工具开发?
- operator LPCTSTR()重载``谁会外部的实现方法
- 三维重建 VTK 那些基本objects的使用说明有吗??
- 一个有关CEdit的问题?
- 在WINDOWS下如何截获MSN Messenger 6.0的聊天记录
- createprocess中的问题。
- 想通过Microsoft RDP Client Control 或Remote Desktop CLientHost CLass控件实现远程桌面连接,但不会用控件,麻烦教一下
- 如何使ClistBox按“Ctrl" keyboard实现多选,不按“Ctrl" keyboard实现单选??
- 如何截获word,notepad,ie等进程选择文字的事件?
- UDP .NAT 打洞困惑
谢谢你,我已经运行过你的程序了,还是有这个问题啊,当程序运行后,你再随便开个窗口(IE,我的电脑)在窗口标题栏上点最小化按钮,点完的同时马上移动你的鼠标,有没有发现鼠标移动的时候卡了一下。我今天在单位的机器上也测试过了,但没有我家里机器表现的这么严重,单位里的还是老的1.6赛扬处理器,我现在在怀疑是不是我的双核AMD处理器的问题。
开发是在 xp 最高性能选项(无视觉效果) 下开发的,都还好,没有你说的问题呵呵
http://waxb.blog.com.cn/archives/2007/MsgHook.shtml