我写了这段代码来锁定屏幕中间的鼠标
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()
并且它在t.start()之后不再继续。我一直在尝试使用不同的方法来停止该线程,但它甚至没有在该行之后进行。任何人都知道这是什么问题?
答案 0 :(得分:0)
可能是您的功能没有正确缩进。它应该是:
Angular
此外,您似乎只是开始一个线程。重点是什么?
编辑:
我刚刚意识到你的函数有一个无限循环。该程序无法从t.start()继续执行,因为它必须等待该函数完成执行,因为它有一个while循环,所以它不会被执行。您需要以某种方式重构您的程序,或者如果您想保持它的原样,请参阅此答案以了解如何避免等待线程。