C语言keybd_event问题。

2024-11-19 08:32:55
推荐回答(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
);