Как создать глобальную горячую клавишу alt + в Python?

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

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

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

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

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

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