Чтобы нажать «а» код
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)
Попробуйте следующее:
добавление
Я только что проверил свой собственный код, где я сделал то же самое … 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
,