ich diesen Code schrieb eine Maus in der Mitte des BildschirmsCode nicht hält nach dem Faden ging
def lockmouse():
print "here"
while True:
win32api.SetCursorPos((GetSystemMetrics(0)/2,GetSystemMetrics(1)/2))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,GetSystemMetrics(0)/2,GetSystemMetrics(1)/2,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,GetSystemMetrics(0)/2,GetSystemMetrics(1)/2,0,0)
t = threading.Thread(target=lockmouse())
command = "lockmouse"
if "lockmouse" in command:
if t.is_alive==False:
t.start()
time.sleep(3)
t._Thread_stop()
und sein nicht halten zu gehen nach dem t.start() zu sperren. Ich habe verschiedene versucht, mit Methoden, um den Thread zu stoppen, aber es ist sogar nicht nach dieser Zeile.Kann jemand wissen, was das Problem?
Es sollte 'target = lockmouse' sein. Rufen Sie nicht 'lockmouse()' auf. Es wird niemals 't.start()' ausführen, da sich der aktuelle Thread in einer Endlosschleife befindet. Die Zielfunktion wird im neuen Thread aufgerufen, wenn Sie sie starten. Um den Thread elegant zu beenden, sollte die 'while'-Schleife eine globale Variable oder ein Objekt testen, das als Parameter übergeben wurde, wie zum Beispiel ein' threading.Event'. – eryksun