foxlye
@foxlye

Нажатие клавиши S в игре c#?

Другие клавиши эмулируются нормально, однако клавиши S и E не работают, работаю через SendKeys, в игре ноль реакции. Что делать ?
static class KeyboardSend
{
    [DllImport("user32.dll")]
    private static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
 
    private const int KEYEVENTF_EXTENDEDKEY = 1;
    private const int KEYEVENTF_KEYUP = 2;
 
    public static void KeyDown(Keys vKey)
    {
        keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY, 0);
    }
 
    public static void KeyUp(Keys vKey)
    {
        keybd_event((byte)vKey, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
    }
}
KeyboardSend.KeyDown(Keys.S);
KeyboardSend.KeyUp(Keys.S);

Тут игра тоже игнорит, ей без разницы.
  • Вопрос задан
  • 227 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Kaidoz
Разработчик C#
Попробуйте добавить задержку между нажатием клавиши и ее поднятием(200мс).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы