c语言键盘事件keybd_event

2025-04-15 22:00:06
推荐回答(1个)
回答1:

这段代码没问题,我亲自验证过。
或者你尝试我这段代码,效果应该明显:

#include 
#include 
#include 
int main()
{
// 模拟Alt+Tab
keybd_event(VK_MENU, 0xb8, 0, 0); //Alt 按下
keybd_event(VK_TAB, 0x8f, 0, 0); // Tab 按下
while (1); // 停住观察
keybd_event(VK_TAB, 0x8f, KEYEVENTF_KEYUP, 0); // Tab 释放
keybd_event(VK_MENU, 0xb8, KEYEVENTF_KEYUP, 0); // Alt 释放
return 0;
}



keybd_event函数模拟了键盘输入。调用该函数会让系统触发WM_KEYUP或者WM_KEYDOWN事件。
函数原型是:
VOID WINAPI keybd_event(
  _In_ BYTE      bVk,
  _In_ BYTE      bScan,
  _In_ DWORD     dwFlags,
  _In_ ULONG_PTR dwExtraInfo
);