要按'代码是
keybd_event(VkKeyScan(64),0,0,0);
发布密钥代码
keybd_event(VkKeyScan(64),0,KEYEVENTF_KEYUP,0);
按下' @'我需要两个键的组合 - SHIFT& 2,但我不知道如何。
keybd_event(https://msdn.microsoft.com/en-us/library/windows/desktop/ms646304(v=vs.85).aspx)
答案 0 :(得分:1)
尝试以下方法:
<强>附录强>
我刚检查了自己的代码,我做了同样的事情...... keybd_event
已被弃用(如您关联的网站所述),您应该使用SendInput
代替。
这是我发送按键和释放的两个功能:
void sendKeyDown(unsigned char keyCode)
{
INPUT input;
input.type = INPUT_KEYBOARD;
input.ki.wVk = keyCode;
input.ki.dwFlags = 0;
input.ki.time = 0;
input.ki.dwExtraInfo = 0;
SendInput(1, &input, sizeof(INPUT));
}
void sendKeyUp(unsigned char keyCode)
{
INPUT input;
input.type = INPUT_KEYBOARD;
input.ki.wVk = keyCode;
input.ki.dwFlags = KEYEVENTF_KEYUP;
input.ki.time = 0;
input.ki.dwExtraInfo = 0;
SendInput(1, &input, sizeof(INPUT));
}
然后这应该给你一个@
:
sendKeyDown(VK_SHIFT);
sendKeyDown(0x32);
sendKeyUp(0x32);
sendKeyUp(VK_SHIFT);
请检查0x32
,我目前无法可靠地将其作为密钥2
进行测试。