如何在后台按键时 运行 起作用?

How to run function on keypress while in Background?

我已经为此苦苦挣扎了一段时间,所以我想我应该在这里问一下。我正在尝试获取

def pause():
global pid, p
pid = [pid]
p = psutil.Process(pid)
p.suspend()

绑定到'end'键,可以用变量改变。我怎样才能将它绑定到按键,同时它也没有在屏幕上聚焦。 抱歉,如果这令人困惑,我的意思是让脚本 运行 在另一个应用程序后面,但仍然注册按键。

谢谢, 最大值

我可能会使用 pyHook 来完成此操作。它捕获系统级鼠标和键盘输入。

这是一个简单的例子

from pyHook import HookManager
from win32gui import PumpMessages, PostQuitMessage

class Keystroke_Watcher(object):
    def __init__(self):
        self.hm = HookManager()
        self.hm.KeyDown = self.on_keyboard_event
        self.hm.HookKeyboard()


    def on_keyboard_event(self, event):
        try:
            if event.KeyID  == 35: # end is keycode 35
                self.pause()
        finally:
            return True

    def pause():
        global pid, p
        pid = [pid]
        p = psutil.Process(pid)
        p.suspend()

    def shutdown(self):
        PostQuitMessage(0)
        self.hm.UnhookKeyboard()


watcher = Keystroke_Watcher()
PumpMessages()