我想按住一個不確定的時間並在此之後釋放它。 僞代碼:在不確定的時間持續按下一個按鍵
SendKey(VK_RIGHT, KEY_DOWN);
// Do something
SendKey(VK_RIGHT, KEY_UP)
我使用Visual Studio 2012和Windows 7 64位。 我已經搜查了大量的時間和嘗試是這樣的:
#include <Windows.h>
#include <WinUser.h>
using namespace std;
[...]
INPUT Event = {0};
Event.type = INPUT_KEYBOARD;
Event.ki.dwFlags = 0;
Event.ki.wScan = ::MapVirtualKey(VK_RIGHT, MAPVK_VK_TO_VSC);
Event.ki.time = 2000; // hold 2 sek. ?
Event.ki.dwExtraInfo = 0;
Event.ki.wVk = VK_RIGHT; // (Right-Arrow)
SendInput(1, &Event, sizeof(Event)); // hold
Sleep(1000); // do something (waiting in this case)
Event.ki.dwFlags = KEYEVENTF_KEYUP; // release
SendInput(1, &Event, sizeof(Event));
但這並沒有工作,沒有料到,我不知道什麼是錯。 按鍵正確按下,但沒有按住。 在此先感謝。
只是一個觀察,你應該使用'VK_'符號而不是幻數。 – 2014-10-19 16:37:43