我想制作一个可以捕获键盘事件的程序,即使它在任何时候都不活动。钩子太复杂了,我必须做的所有事情才能使它工作(制作一个 DLL,读取它,等等),所以我决定继续使用热键。
但现在我有一个问题。注册热键会禁用键盘上的键,因此我只能将键发送到程序,而不能在任何其他程序(例如记事本)上键入。
这是我的代码:
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char* argv[]) {
RegisterHotKey(NULL, 1, NULL, 0x41); //Register A
MSG msg = {0};
while (GetMessageA(&msg, NULL, 0, 0) != 0) {
if (msg.message == WM_HOTKEY) {
cout << "A"; //Print A if I pressed it
}
}
UnregisterHotKey(NULL, 1);
return 0;
}
// and now I can't type A's
这个问题有什么简单的解决方案吗?谢谢