2009-11-19 3 views
3

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

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

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

ответ

3

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

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

+0

ty, но я действительно хочу написать программу :) –

3

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

2

Вещи иметь в виду:

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

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

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