VB.NET全局鼠标钩子有时会捕获不到鼠标?
我用同一个函数先安装了全局键盘钩子,然后再安装全局鼠标钩子。鼠标钩子的消息处理函数如下:PrivateFunctionKeyMouseHookProc(nCodeAsIn...
我用同一个函数先安装了全局键盘钩子,然后再安装全局鼠标钩子。鼠标钩子的消息处理函数如下:
Private Function KeyMouseHookProc(nCode As Integer, wParam As Integer, IParam As Integer) As Integer
If nCode >= 0 Then
'其它代码
Else
KeyMouseHookProc = CallNextHookEx(mHook, nCode, wParam, IParam)
End If
KeyMouseHookProc = 0
End Function
键盘的消息处理函数跟这个差不多,用的是另一个过程。但是问题来了,我用键盘捕获事件没有出错过,而用鼠标时偶尔会出现失灵,虽然这几率很低,大概百分之五吧。一出现这种情况,无论怎么移动鼠标狂点鼠标都没有反应,而键盘只要按一下就有反应了。按说相似的消息处理函数不会差那么多啊,这和安装的先后顺序有关吗,还有我这个程序是随关机才停止运行的,不知道有没有正常卸载钩子,这有关系吗。哪位大神给我点破到底是哪里出错了呢? 展开
Private Function KeyMouseHookProc(nCode As Integer, wParam As Integer, IParam As Integer) As Integer
If nCode >= 0 Then
'其它代码
Else
KeyMouseHookProc = CallNextHookEx(mHook, nCode, wParam, IParam)
End If
KeyMouseHookProc = 0
End Function
键盘的消息处理函数跟这个差不多,用的是另一个过程。但是问题来了,我用键盘捕获事件没有出错过,而用鼠标时偶尔会出现失灵,虽然这几率很低,大概百分之五吧。一出现这种情况,无论怎么移动鼠标狂点鼠标都没有反应,而键盘只要按一下就有反应了。按说相似的消息处理函数不会差那么多啊,这和安装的先后顺序有关吗,还有我这个程序是随关机才停止运行的,不知道有没有正常卸载钩子,这有关系吗。哪位大神给我点破到底是哪里出错了呢? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询