2017-07-04 2 views
1

Ich versuche PyHook zu verwenden, um Tastatur und Maus zu deaktivieren, während das Skript ausgeführt wird, und ich habe Schwierigkeiten, eine Zeitgeberfunktion festzulegen, so dass Tastatur und Maus nur für eine vordefinierte Zeit deaktiviert werden , z.B 30 Sekunden und dann wieder normal.Python: Verwenden von Timer mit PyHook

Ich bin neu in der Programmierung im Allgemeinen und ich hoffe daher auf eine einfache Lösung, von der ich lernen und verstehen kann.

Vielen Dank.

+0

Sie rufen die Funktion nicht auf. Sie haben auch für window Veranstaltung, die auch bestanden werden muss. – MatejMecka

+0

Hallo danke für deine Antwort! Wenn ich den obigen Code ausführe, werden Tastatur und Maus deaktiviert, aber wie kann ich den Timer dafür einstellen? Kann ich windowow() anrufen und den time.sleep dort einstellen, oder? – Jesper

Antwort

0

Hmm, das ist ziemlich ruchlos, aber das funktioniert. Ihr time.sleep() wurde nie ausgeführt, weil es nach einer Rückgabeanweisung platziert wurde

import pythoncom, pyHook, time 
start = time.time() 
time.clock() 
elapsed = 0 

def windoow(event): 
    global elapsed 
    if elapsed < 30: 
     elapsed = time.time() - start 
     time.sleep(1) 
     return False 

    return True 

hm = pyHook.HookManager() 
hm.MouseAll = windoow 
hm.KeyAll = windoow 
hm.HookMouse() 
hm.HookKeyboard() 
pythoncom.PumpMessages() 
+1

Das ist großartig! Vielen Dank! Es wirkt wie ein Zauber! – Jesper

+0

Ich bin froh, dass ich helfen konnte! Können Sie bitte die Antwort akzeptieren, wenn es Ihnen geholfen hat? – Colwin

+1

Absolut :) Danke nochmal. Ich werde auch upvote, sobald ich genug Renommee habe. – Jesper