我由鼠標自動化程序和我有以下功能,其I「後」的方法(root.after(1000,start_mouse))如何停止Python中的Windows鼠標處理程序?
def start_mouse():
"""Staring the mouse click recording"""
global root, FLAG, CLICKS, T, q, timeList, clickThreadId
q = Queue.Queue()
threading.Thread(target=stack).start()
clickThreadId = win32api.GetCurrentThreadId()
def onclick(event):
"""Mouse handler"""
global timeList, T, FLAG, q
timeList.append(int(round(time.time() * 1000)))
Tt = timeList[-1] - timeList[-2]
print event.Position[0],event.Position[1], Tt
if FLAG == 2:
temp_l =str(event.Position[0])+","+str(event.Position[1])+","+str(Tt)+"\n"
q.put_nowait(str("x: "+str(event.Position[0])+" "+"y: "+str(event.Position[1])+" "+"t: "+str(Tt)+"\n"))
CLICKS.append(temp_l)
return True
問題是我不能阻止與Tkinter的調用與(後面的按鈕)功能的過程:
win32api.PostThreadMessage(clickThreadId, win32con.WM_QUIT, 0, 0)
所以一切工作正常,但是當我打電話root.destroy()我留下了兩個後臺進程和我的光標凍結約5秒鐘。 有沒有人知道處理這個問題的方法?
我不認爲你可以自己發佈'WM_QUIT',並且沒有'PostThreadQuitMessage()'。嘗試將其他進程的主窗口改爲「WM_CLOSE」。 – andlabs