我有一个程序,可以使用pyHook捕获所有按键,然后运行一些功能。
我注意到一段时间(随机持续时间)后,即使我按了按键,程序仍停止接收按键触发信号?
pyHook不稳定吗?
我不会更改按下的键或过早按下它们之类的东西。
这是我的代码:
import time
import win32api
import win32con
import pythoncom
import pyHook
import os
import ctypes
def Click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
def DeleteRun(event):
if event.Ascii == 96:
BreakHook()
return False
Click(1250, 741)
time.sleep(0.2)
Click(649,261)
time.sleep(0.2)
Click(651, 348)
time.sleep(0.2)
Click(800, 442)
time.sleep(0.2)
Click(865, 612)
time.sleep(0.2)
Click(25, 744)
time.sleep(3)
Click(25, 744)
time.sleep(1.5)
Click(1112,297)
Click(145,392)
return True
def BreakHook():
ctypes.windll.user32.PostQuitMessage(0)
KeyGrabber = pyHook.HookManager()
KeyGrabber.KeyDown = DeleteRun
KeyGrabber.HookKeyboard()
pythoncom.PumpMessages()
为什么突然停止工作?
这非常令人沮丧,因为即使我通过IDE停止了该程序,该进程仍在我的计算机上保持 Activity 状态。
眼镜:
python 2.7.2
Windows 7(32)
最佳答案
在这里讨论并解决了类似的问题(我敢说完全相同吗?):pyHook + pythoncom stop working after too much keys pressed [Python]
在这里:Pyhook stops capturing key events after 6 presses