专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Perl/Python

在wxPython中使用PyHook的有关问题

发布时间:2011-06-29 20:10:26 文章来源:www.iduyao.cn 采编人员:星星草
在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

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: