需要调用windows的SendInput接口模拟键盘事件,比较简单,Ctrl+Alt+Tab键任务切换,直接上代码吧:
#include "windows.h"
int main()
{
// 创建键盘输入
INPUT ip;
// 设置键盘事件类型
ip.type = INPUT_KEYBOARD;
ip.ki.wScan = 0; // hardware scan code for key
ip.ki.time = 0;
ip.ki.dwExtraInfo = 0;
// Press the "Ctrl" key
ip.ki.wVk = 0x11;
ip.ki.dwFlags = 0; // 0 表示按下
SendInput(1, &ip, sizeof(INPUT));
// Press the "Alt" key
ip.ki.wVk = 0x12;
ip.ki.dwFlags = 0; // 0 表示按下
SendInput(1, &ip, sizeof(INPUT));
// Press the "Tab" key
ip.ki.wVk = 0x09;
ip.ki.dwFlags = 0; // 0 表示按下
SendInput(1, &ip, sizeof(INPUT));
// 要记得释放这些按键 否则这三个键属于按下状态
ip.ki.wVk = 0x11;
ip.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &ip, sizeof(INPUT));
ip.ki.wVk = 0x09;
ip.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &ip, sizeof(INPUT));
ip.ki.wVk = 0x12;
ip.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &ip, sizeof(INPUT));
}