【发布时间】:2016-06-27 05:07:02
【问题描述】:
我正在制作一个程序,我需要它从数组中输入一个随机字母。这就是我尝试这样做的方式:
{
srand ( time(NULL) );
WORD arrayNum[4] = {0x41, 0x42, 0x43, 0x44};
int RandIndex = rand() % 4;
INPUT ip;
ip.type = INPUT_KEYBOARD;
ip.ki.wScan = 0;
ip.ki.time = 0;
ip.ki.dwExtraInfo = 0;
ip.ki.wVk = arrayNum;
ip.ki.dwFlags = 0;
SendInput(1, &ip, sizeof(INPUT));
ip.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &ip, sizeof(INPUT));
}
我必须说我是新手,我真的不知道该怎么办。我得到的错误是:
invalid conversion from 'WORD* {aka short unsigned int*}' to 'WORD {aka short unsigned int}' [-fpermissive]
这让我很困惑..
【问题讨论】:
-
使用
1的nInputs 参数连续调用SendInput 完全违背了它的目的。你可以继续使用keybd_event 并遭受SendInput打算解决的问题。
标签: c arrays winapi random keyboard