我试图让鼠标双击与pyHook,但相反,我得到两个单击一对单击例如WM_LBUTTONDOWN(0x201)和WM_LBUTTONUP(0x202)。我期待WM_LBUTTONDBLCLK(0x203)。我在这里误解了什么?获取鼠标双击pyHook
import pythoncom, pyHook
def OnMouseEvent(event):
print event.Message, event.Position
return True
hm = pyHook.HookManager()
hm.MouseAll = OnMouseEvent
hm.HookMouse()
pythoncom.PumpMessages()
我发现这个提示:在this post MrZebra说:“对于这个(0x203)发送,你的窗口类需要的CS_DBLCLKS类样式创建”
编辑:This page表示双击将生成这4个消息:WM_LBUTTONDOWN,WM_LBUTTONUP,WM_LBUTTONDBLCLK和WM_LBUTTONUP,但实际上我得到了前两次两次。
我使用Python 2.7和pyHook 1.5.1 Win7x64
重新编辑:我会考虑的答案C++/C#键盘/鼠标挂钩的替代品。另一方面,我不确定构建函数来确定评估两次点击之间的时间的双击事件是否是常见做法。
尝试在`hm = pyHook.HookManager()`语句之后添加`hm.SubscribeMouseAllButtonsDbl(OnMouseEvent)`。 – martineau 2010-12-08 23:45:57
我做了更改,但双击不会显示。我提出了很多建议。 – 2010-12-09 02:14:08