Задать вопрос
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);

Тут игра тоже игнорит, ей без разницы.
  • Вопрос задан
  • 235 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    SDP-030_PRG Продвинутая разработка в Microsoft .NET
    1 неделя
    Далее
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Kaidoz
Разработчик C#
Попробуйте добавить задержку между нажатием клавиши и ее поднятием(200мс).
Ответ написан
Ваш ответ на вопрос

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

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