我想自动化几个任务(例如,模拟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()
您可能需要查看AutoIt。它可以做AutoHotKey所能做的一切,但是语言语法并不能让你想把头发拔出来。另外,它有COM绑定,所以如果需要,可以在python中轻松地使用它的大部分功能。我在这里贴了一篇关于如何做的文章before。在
使用pyHook和win32扩展找到了答案:
相关问题 更多 >
编程相关推荐