Wie kann ich meine eigene Schleife mit pyhook statt pumpMessages()?
Ich versuche, pyhooks zu erkennen Mausklicks beliebige Stelle auf dem Bildschirm. Das problem ist, dass ich nur zum laufen bekommen mit PumpMessages(). Ich möchte Sie operieren innerhalb einer while-Schleife, die habe ich gebaut. Gibt es eine Möglichkeit, dies zu erreichen/wieso braucht es pumpMessages?
def onclick(event):
print 'Mouse click!'
return True
hm = pyHook.HookManager()
hm.MouseLeftDown = onclick
hm.HookMouse()
pythoncom.PumpMessages()
hm.UnhookMouse()
Oben ist der einzige Weg, ich kann es zu laufen.
Ich versuche zu erreichen, so etwas wie dieses:
sTime = time.time()
def onclick(event):
global sTime
print 'Time between clicks equals: %i' % time.time() - stime
sTime = time.time()
return True
hm.MouseLeftDown = OnClick
while True:
hm.HookMouse()
EDIT: ich bin kein kluger Mann. Es gibt keine Notwendigkeit für eine while-Schleife in das Szenario..
Seufz..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der pyhook tutorial:
Jedoch, sollte dies nicht unbedingt verhindern, dass Ihr code funktioniert. Warum gehst du nicht nach, was Sie versuchen zu tun, und wir können uns für einen Weg zu verwenden, der message-Pumpe in Zusammenhang mit Ihrem code.
Einen Weg, den Sie vielleicht in der Lage sein, Ihr problem zu lösen, ist durch PostQuitMessages(original-Lösung hier)
Nur für die Zukunft, die Sie verwenden können
pythoncom.PumpWaitingMessages()
innerhalb der while-Schleife, da Sie nicht sperren Sie die Ausführung. So etwas wie dieses:PostQuitMessage
nennen.