keybd_event(VK_UP, MapVirtualKey(VK_UP, 0), 0, 0); //pressed
Sleep(100);
keybd_event(VK_UP, MapVirtualKey(VK_UP, 0), KEYEVENTF_KEYUP, 0); //released
Sleep(300);
以下内容不会自动按下向上箭头并按原样释放它。我做错了吗?
答案 0 :(得分:2)
keybd_event function已过时。它已被SendInput function取代。
以下代码可能会执行您想要的操作。
UINT SendUpArrow()
{
INPUT input[2] = {0};
input[0].type = INPUT_KEYBOARD;
input[0].ki.wVk = VK_UP;
input[0].ki.dwFlags = 0;
input[1].type = INPUT_KEYBOARD;
input[1].ki.wVk = VK_UP;
input[1].ki.dwFlags = KEYEVENTF_KEYUP;
UINT ret = ::SendInput(_countof(input), input, sizeof(INPUT));
return ret;
}