使用Python 2.6设置全局热键

时间:2010-07-26 18:52:16

标签: python keyboard wxpython hotkeys shortcut-key

我想在python 2.6中设置一个全局热键,用于监听键盘快捷键 ctrl + D ctrl + alt < / kbd> + D 在Windows上,请帮帮我

4 个答案:

答案 0 :(得分:9)

Tim Golden的python/win32网站是python中与win32相关的编程的有用资源。特别是,这个例子应该有所帮助:

答案 1 :(得分:6)

我建议pyhk。它允许在python中进行全局范围的热键注册,并附带示例和文档。 Pyhk构建于pyhook

热键注册非常简单:

pyhk.addHotkey(SomeHotkey,SomeFunction)

答案 2 :(得分:3)

wx.Window类的RegisterHotKey方法正是您所寻找的 - 正如文档所说,

  

注册系统范围的热键。一切   用户按下热键的时间   在这里注册,这个窗口会   收到热门活动。它会   即使是接收事件   应用程序在后台和   没有输入焦点,因为   用户正在与其他人合作   应用。绑定事件处理程序   函数到这个热键使用EVT_HOTKEY   id等于hotkeyId。返回   如果热键已注册,则为True   成功。

所以,创建一个`wx.Window的实例,用这个方法注册你想要的热键,如果ypu'd在一个单独的事件处理程序中处理事件而不是一个PushEventHandler。在窗口本身(后者是默认值)。

这个程序还有什么不完全清楚的吗?如果是这样,请编辑您的问题以添加您可能遇到的任何其他问题!

答案 3 :(得分:0)

如果你想在你的wxPython程序中使用热键(我假设你因为wxPython标签而这么做),那么你应该使用wx.AcceleratorTable。