Ich versuche, Maus Doppelklick mit pyHook zu bekommen, aber stattdessen bekomme ich zwei Paar Einträge von einzelnen Klicks, z. WM_LBUTTONDOWN (0x201) und WM_LBUTTONUP (0x202). Ich erwarte WM_LBUTTONDBLCLK (0x203). Was vermisse ich hier?Holen Sie Maus Doppelklick mit pyHook
import pythoncom, pyHook
def OnMouseEvent(event):
print event.Message, event.Position
return True
hm = pyHook.HookManager()
hm.MouseAll = OnMouseEvent
hm.HookMouse()
pythoncom.PumpMessages()
Ich habe diesen Hinweis gefunden: In this post MrZebra sagt: "Für diesen (0x203) gesendet wird, muss Ihre Fensterklasse mit dem CS_DBLCLKS Klasse Stil geschaffen werden"
bearbeiten: This page zeigt an, dass doubleclicking diese 4 msgs erzeugen wird: WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK und WM_LBUTTONUP, aber ich bekomme tatsächlich die ersten beiden zweimal.
Ich verwende Python 2.7 und pyHook 1.5.1 auf Win7x64
reedit: Ich werde prüfen, wie Antworten C++/C# Tastatur/Maus-Alternativen Haken. Auf der anderen Seite bin ich nicht sicher, ob es üblich ist, Funktionen zu erstellen, um das Doppelklickereignis zu bestimmen, das die Zeit zwischen zwei Klicks auswertet.
Versuchen Sie, nach der Anweisung 'hm = pyHook.HookManager()' '' hm.SubscribeMouseAllButtonsDbl (OnMouseEvent) 'hinzuzufügen. – martineau
Ich habe die Änderungen vorgenommen, aber die Doppelklicks werden nicht angezeigt. Ich appreciate viel den Rat. –