classhookthread(threading.Thread):def__init__(self):threading.Thread.__init__(self)self.evtlist=[]self.thread_stop=FalsedefOnMouseEvent(self,event):self.evtlist.append(ev...
class hookthread(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.evtlist=[] self.thread_stop = False def OnMouseEvent(self,event): self.evtlist.append(event) return True def onKeyboardEvent(self,event): print event.MessageName self.evtlist.append(event) if str(event.Key)=='F12': #按下F12后终止 win32api.PostQuitMessage() return True def run(self): # create a hook manager hm = pyHook.HookManager() hm.KeyDown = self.onKeyboardEvent hm.HookKeyboard() hm.MouseAll = self.OnMouseEvent hm.HookMouse()
pythoncom.PumpMessages()
def stop(self): self.thread_stop = True win32api.PostQuitMessage() return True def getEventlist(self): return self.evtlist
如上代码中,我使用继承线程的方法来hook键盘和鼠标并记录下操作
但是现在存在两个个问题
我调用stop的时候,仍然在记录,似乎这里的PostQuitMessage()没有起作用
虽然F12可以正常终止,但是整个程序都被终止了,我的目的是仅仅不再记录而已,这样程序的其他功能还要正常使用的
这个排版怎么回事啊
展开