如果用户切换到名称为AAA的某个窗口,我需要记录击键(如果用户按'ABCS',我保存在字符串中的魔杖),窗口是不是目前的应用程序,但可以是任何其他应用程序。如何在Windows上记录击键[C++]
我想我知道如何让当前窗口的名称,这样的事情:
#include <windows.h>
// ...
TCHAR buf[255];
GetWindowText(GetForegroundWindow(), buf, 255);
但如何录制的钥匙,我不知道。
谢谢,
如果用户切换到名称为AAA的某个窗口,我需要记录击键(如果用户按'ABCS',我保存在字符串中的魔杖),窗口是不是目前的应用程序,但可以是任何其他应用程序。如何在Windows上记录击键[C++]
我想我知道如何让当前窗口的名称,这样的事情:
#include <windows.h>
// ...
TCHAR buf[255];
GetWindowText(GetForegroundWindow(), buf, 255);
但如何录制的钥匙,我不知道。
谢谢,
可能最简单的方法是使用AttachThreadInput函数。使用GetWindowThreadProcessId从窗口句柄中获取线程ID。
这可能不是你在找什么,但以防万一你正在尝试创建“热键”,Win32的具有直接支持它 - 见RegisterHotkey
创建键盘记录器heh;) – RvdK 2010-11-12 18:47:13
我经常想知道是否我们应该关闭这样的问题,因为它们似乎是邪恶的。 – 2010-11-12 18:50:31
@John:你在开玩笑吧?我们在这里帮助人们解决编程问题,而不是判断人们的意图。 – 2010-11-12 18:53:15