首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

在wxPython中使用PyHook的有关问题

2012-03-06 
在wxPython中使用PyHook的问题?因为要做全局的事件监听。用了Pyhook做全局的鼠标监听。。但是程序经常假死。不

在wxPython中使用PyHook的问题?
因为要做全局的事件监听。用了Pyhook做全局的鼠标监听。。但是程序经常假死。不知道什么原因。。求解。。。

#Pyhook监听线程启动类
class StartEventListener(threading.Thread):
  def __init__(self):
  threading.Thread.__init__(self)
  self.thread_stop = False
  def run(self):
  hm = pyHook.HookManager()
  hm.MouseLeftUp=sy.ListenerMouseLeftUp#监听全局鼠标右键弹起
  hm.MouseLeftDown=sy.MouseLeftDown#监听全局鼠标右键按下
  hm.MouseMove=sy.MouseMoveEvent#监听全局鼠标移动
  hm.HookMouse()#不监听鼠标事件,只监听键盘事件程序运行正常。。。。
  hm.KeyDown = sy.ListenerKeyboard
  hm.HookKeyboard()
  pythoncom.PumpMessages()
  def stop(self):
  self.thread_stop =True
if __name__=="__main__":
  eventListener=StartEventListener()
  app=wx.PySimpleApp(0)
  frame=MainFrame()
  frame.Maximize()
  frame.Show()
  eventListener.setDaemon(True)
  eventListener.start()#启动监听线程|不启动程序正常,启动后程序经常假死
  app.MainLoop()

[解决办法]
用wx.PostEvent()好像可以,有人已经做出来了,不过好像也是有点问题。
这东西好像也得看点资料才行,不是一下能写出来

http://sourceforge.net/projects/pyhook/forums/forum/850395/topic/3672048

热点排行