Как записывать нажатия клавиш в Windows [C ++] - PullRequest
0 голосов
/ 12 ноября 2010

Мне нужно записывать нажатия клавиш (если пользователь нажал «ABCS», я запомнил это в строке), если пользователь переключается на определенное окно с именем AAA, окна не относятся к текущему приложению, но могут бытьлюбого другого.

Наверное, я знаю, как получить текущее имя окна, примерно так:

#include <windows.h>

// ...

TCHAR buf[255];
GetWindowText(GetForegroundWindow(), buf, 255);

Но как записать ключи, я понятия не имею.

Спасибо,

Ответы [ 3 ]

4 голосов
/ 12 ноября 2010

Вероятно, самый простой способ - использовать функцию AttachThreadInput .

Использовать GetWindowThreadProcessId , чтобы получить идентификатор потока из дескриптора окна.

2 голосов
/ 12 ноября 2010
0 голосов
/ 12 ноября 2010

Это может не быть тем, что вы ищете, но на случай, если вы пытаетесь создать «горячие клавиши», Win32 имеет прямую поддержку для этого - см. <a href="http://msdn.microsoft.com/en-us/library/ms646309%28VS.85%29.aspx" rel="nofollow">RegisterHotkey</a>

есть <a href="http://msdn.microsoft.com/en-us/library/ms644990%28VS.85%29.aspx" rel="nofollow">SetWindowsHookEx</a>

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