Python用于自动热键风格的键组合嗅探,自动化?

2024-04-24 13:33:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我想自动化几个任务(例如,模拟eclipse风格的ctrl-shift-R为其他编辑器打开对话框)。一般的模式是:用户按下某个组合键,我的程序会检测到它并可能弹出一个对话框来获得用户输入,然后运行相应的命令,通常是通过运行一个可执行文件。在

我的目标环境是windows,尽管跨平台会更好。我的程序将被启动一次,读取一个配置文件,然后坐在后台直到被按键组合或其他事件触发。在

基本上是自动热键。在

为什么不直接使用自动热键?实际上我有很多自动热键宏,但我更喜欢使用一种更理智的语言。在

我的问题是:有没有一个好方法让后台python进程检测密钥组合?在

更新:使用pyHook和win32扩展找到了答案:

import pyHook
import pythoncom

def OnkeyboardEvent(event):
    print event.Ascii

hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()

while True:
    pythoncom.PumpMessages()

Tags: 用户import程序eventshift风格编辑器后台
2条回答

您可能需要查看AutoIt。它可以做AutoHotKey所能做的一切,但是语言语法并不能让你想把头发拔出来。另外,它有COM绑定,所以如果需要,可以在python中轻松地使用它的大部分功能。我在这里贴了一篇关于如何做的文章before。在

使用pyHook和win32扩展找到了答案:

import pyHook
import pythoncom

def OnKeyboardEvent(event):
    print event.Ascii

hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()

while True:
    pythoncom.PumpMessages()

相关问题 更多 >