2

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)

4

2 に答える 2

2

同様の (あえて同一 と言えますか?) 問題がここで議論され、解決されました:

于 2013-01-04T02:09:27.307 に答える