Как отправить нажатия клавиш только одной программе? - PullRequest
2 голосов
/ 23 февраля 2010

Мне было трудно найти что-нибудь полезное, но я обнаружил, что кто-то спросил, как это сделать, ( Как отправить нажатия клавиш в окно? )

если использовать код и я могу установить текст блокнота, но я хочу отправить ключи, но задает текст, я хочу отправить ключи, например, keybd_event, которым я пользуюсь, но хочу, чтобы он отправлялся только одной программе.

keybd_event('a', NULL, NULL, NULL);  
keybd_event('a', NULL, KEYEVENTF_KEYUP, NULL); 

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

1 Ответ

0 голосов
/ 26 февраля 2010

Звучит так, будто вы пытаетесь заставить окно сфокусироваться перед отправкой ключей. Посмотрите на FindWindow и SetForegroundWindow.

Как-то так должно работать:

SetForegroundWindow(FindWindow(0,"Untitled - Notepad"));
keybd_event(....);

Если вместо этого вы говорите об изменении текста окна напрямую, посмотрите на GetWindow для навигации по дереву окон и SendMessage с помощью WM_SETTEXT параметр.

...