Как отправить ключи с помощью глобальной клавиатуры? - PullRequest
4 голосов
/ 07 августа 2011

Я пытаюсь отправить ключи в приложение, которое не отвечает ни на один из API, которые я до сих пор использовал (SendInput (), PostMessage (), SendMessage () и другие).Однако я протестировал утилиту экранной клавиатуры Windows и нажал нужные мне клавиши, и приложение легко получило эти клавиши.

Если я правильно понимаю, утилита клавиатуры использует глобальные перехватчики клавиатуры для отправки клавиш, поэтому я 'Я заинтересован, как я мог бы сделать это.Я попытался найти примеры того, как это можно сделать в Google, но не дал результатов.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 07 августа 2011

Я решил это. Я отправлял ключи в приложение DirectX. Оказывается, мне пришлось отправлять коды сканирования DirectX вместо обычных кодов VK_KEY.

Список кодов сканирования можно найти по адресу: http://www.gamespp.com/directx/directInputKeyboardScanCodes.html

Использование их с SendInput () и все работало отлично.

Спасибо за помощь.

Приветствие.

2 голосов
/ 07 августа 2011

Хуки используются для перехвата событий, а не для отправки нового события. То, что вы спрашиваете, невозможно с крючками. SendInput это путь. возможно, вы сделали что-то не так, поэтому будет лучше, если вы разместите код, который не работает, и отладите то, что пошло не так.

...