如何在Windows上记录击键[C ++]

时间:2010-11-12 18:44:46

标签: c++ winapi

我需要记录击键(如果用户按下“ABCS”,我保存在字符串中的魔杖)如果用户切换到名称为AAA的某个窗口,则窗口不是当前应用程序,但可以是任何其他人。

我想我知道如何获取当前的窗口名称,就像那样:

#include <windows.h>

// ...

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

但如何录制按键,我不知道。

谢谢,

3 个答案:

答案 0 :(得分:4)

可能最简单的方法是使用AttachThreadInput功能。

使用GetWindowThreadProcessId从窗口句柄中获取线程ID。

答案 1 :(得分:2)

答案 2 :(得分:0)

可能不是正在寻找的,但是如果您正在尝试创建“热键”,Win32可以直接支持它 - 请参阅RegisterHotkey

还有SetWindowsHookEx