Установить глобальную горячую клавишу с Python 2.6 - PullRequest
11 голосов
/ 26 июля 2010

Я хочу установить глобальную горячую клавишу в Python 2.6, которая слушает сочетание клавиш ctrl + D или ctrl + alt + D на окнах, пожалуйста, помогите мне

Ответы [ 4 ]

9 голосов
/ 27 июля 2010

Сайт Тима Голдена python / win32 является полезным ресурсом для программирования, связанного с win32 в python. В частности, этот пример должен помочь:

6 голосов
/ 31 декабря 2011

Я предлагаю Пыхк . Он допускает глобальную регистрацию горячих клавиш в python и поставляется с примерами и документацией. Pyhk основан на pyhook .

Регистрация горячей клавиши так же проста, как:

pyhk.addHotkey(SomeHotkey,SomeFunction)
3 голосов
/ 27 июля 2010

Метод RegisterHotKey класса wx.Window - это то, что вы ищете - как говорят документы,

Регистрирует системную горячую клавишу. каждый время, когда пользователь нажимает горячую клавишу зарегистрировано здесь, это окно будет получить событие горячей клавиши. Будет получить событие, даже если приложение находится в фоновом режиме и не имеет фокус ввода, потому что пользователь работает с каким-то другим приложение. Чтобы связать обработчик события функция для этой горячей клавиши использовать EVT_HOTKEY с идентификатором, равным hotkeyId. Возвращает True, если бы горячая клавиша была зарегистрирована успешно.

Итак, создайте экземпляр `wx.Window, зарегистрируйте нужную горячую клавишу с помощью этого метода и, возможно, сделайте PushEventHandler , если ypu предпочитает обрабатывать событие (события) в отдельном обработчике события а не в самом окне (последнее по умолчанию).

Есть ли в этой процедуре что-то еще, что вам не совсем понятно ...? Если это так, пожалуйста, отредактируйте свой вопрос, чтобы добавить любые дополнительные проблемы, которые могут у вас возникнуть!

0 голосов
/ 27 июля 2010

Если вам нужны горячие клавиши в вашей программе wxPython (что я предполагаю, что вы делаете из-за тега wxPython), то вам следует использовать wx.AcceleratorTable.

...