如何在后台运行按键功能?

时间:2017-05-22 02:04:12

标签: python function background keypress

我一直在努力解决这个问题,所以我想我会问这里。我想要

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

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

谢谢, 最大

1 个答案:

答案 0 :(得分:1)

我可能会使用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()