python - pyHook 停止接收按键事件(随机)?

标签 python windows pythoncom pyhook

我有一个程序,可以使用 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 停止了该程序,该进程仍然在我的计算机上保持事件状态。

规范:
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

关于python - pyHook 停止接收按键事件(随机)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763053/

相关文章:

python - 中途结束程序

python - 从 PyIDispatch 调用方法

python - 如何在 XPath 选择中包含属性

python - pytorch DataLoader 第一个时代非常慢

python - 如何使用 pydicom 读取所有 DICOM 属性/标签?

c# - 转换 "User Shell Folders"注册表值

python - (Excel) 访问 CodeModule 时 VBA 崩溃

python - 将 OpenCV 图像转换为黑白图像

windows - 您如何在 Octave 中获取路径(在 Windows 上)?

linux - 系统调用通常是如何实现的