如果用戶切換到名稱爲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