Я настроил 2 функции для имитации нажатий кнопок на клавиатуре
void KeyboardButtonDown(DWORD a)
{
INPUT Input = { 0 };
// Set up a generic keyboard event.
Input.type = INPUT_KEYBOARD;
Input.ki.wVk = a;
SendInput(1, &Input, sizeof(INPUT));
}
void KeyboardButtonUp(DWORD a)
{
INPUT Input = { 0 };
Input.type = INPUT_KEYBOARD;
Input.ki.dwFlags = KEYEVENTF_KEYUP;
Input.ki.wVk = a;
SendInput(1, &Input, sizeof(INPUT));
}
В большинстве случаев работает, но не работает в некоторых приложениях при симуляции клавиш со стрелками, как простой пример
KeyboardButtonDown(VK_LEFT);
Sleep(50);
KeyboardButtonUp(VK_LEFT);
Sleep(50);
Он работает в блокноте, но когда играет в игру, он ничего не делает.Я сопоставил элементы управления в игре, чтобы использовать вместо них другие ключи, и тогда он отлично работает.
Что я здесь не так делаю?