Как я могу сделать глобальную горячую клавишу alt + number в Python? - PullRequest
3 голосов
/ 15 июня 2010

Я хочу создать глобальную горячую клавишу с alt + 1, 2, ..., которая вставит некоторую строку в буфер обмена.

Как я могу это сделать?

Ответы [ 3 ]

3 голосов
/ 15 июня 2010

В качестве альтернативы я бы рекомендовал использовать каждый инструмент для того, для чего он предназначен. То есть используйте AutoHotkey для установки горячих клавиш и для других типов автоматизации Windows. AutoHotkey (AHK) очень хорошо соединяется с Python несколькими способами (многие обсуждаются на форумах AHK). Один интересный способ - использовать autohotkey.dll - функциональность AHK, обернутая в DLL, которую можно вызвать с помощью ctypes.

AHK был разработан для автоматизации Windows, и такие задачи для него тривиальны. Гораздо более сложные задачи тоже. Вы можете просто сэкономить часы копания документации по API. AHK может быть скомпилирован в .exe весом несколько сотен килобайт, чтобы вы могли распространять его с любым приложением Windows.

3 голосов
/ 15 июня 2010

Модуль pyhook обеспечивает достаточно простой способ использования перехватов клавиатуры Windows.

2 голосов
/ 15 июня 2010

Я считаю, что вам нужно работать на уровне API Windows (никакие функции более высокого уровня не делают этого), с RegisterHotKey (первый аргумент - нулевой указатель), чтобы связать глобальную горячую клавишу с очередью сообщений текущего потока - указанный поток должен затем продолжить обслуживание своего обычного цикла сообщений Windows. Я подозреваю, что вы захотите запустить все это как службу Windows - например, на этот рецепт , который использует Python для расширений Windows - чтобы убедиться, что он всегда работает, пока система работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...