Крючок клавиатуры в Windows C ++ или что? - PullRequest
3 голосов
/ 19 ноября 2009

Я хочу создать собственное приложение, которое может отправлять команды (сообщения) клавиатуры в ОС Windows.

Например, когда я нажимаю комбинацию ctrl + shift + n, я хочу запустить notepad.exe. Как я могу это сделать? У вас есть какой-нибудь совет для меня об используемой концепции.

Я читал, что это возможно, когда используются зацепки клавиатуры? Это единственный способ? Знаете ли вы бесплатное приложение с открытым исходным кодом, которое делает это максимально простым?

Ответы [ 3 ]

3 голосов
/ 19 ноября 2009

AutoHotkey - бесплатная утилита с открытым исходным кодом для Windows.
Вы можете автоматизировать многие задачи с помощью вышеуказанной утилиты, зацените ее.

3 голосов
/ 19 ноября 2009

Ваш конкретный пример может быть выполнен без какого-либо программирования, щелкнув правой кнопкой мыши Блокнот, выбрав Свойства и установив «горячую клавишу» (различные версии Windows могут вызывать ее под другим именем) на Ctrl + Shift + N.

Если вы все еще хотите написать программу для этого, взгляните на RegisterHotKey Win32 API-функцию.

2 голосов
/ 19 ноября 2009

Что нужно иметь в виду:

Общесистемный хук клавиатуры требует написания DLL. На моем сайте приведен пример кода для подключения клавиатуры здесь .

Хуки не могут быть установлены из приложений с низким и высоким уровнем целостности в Vista и Windows 7/8/10. Так что нет никакой гарантии, что ваш хук будет работать, в зависимости от того, что представляет собой приложение переднего плана, когда нажата клавиша.

Как указал Грег, чаще всего RegisterHotKey является гораздо более простым решением этой проблемы.

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