Я использую:
keybd_event(0x41, 0, 0, 0);
0x41 — это «а». Но это просто печатает одну букву «а» на экране. Мне нужно удерживать клавишу. И когда я звоню
keybd_event(0x41, 0, KEYEVENTF_KEYUP, 0);
он должен отпустить ключ.
Это возможно?
Я использую:
keybd_event(0x41, 0, 0, 0);
0x41 — это «а». Но это просто печатает одну букву «а» на экране. Мне нужно удерживать клавишу. И когда я звоню
keybd_event(0x41, 0, KEYEVENTF_KEYUP, 0);
он должен отпустить ключ.
Это возможно?
Вы можете заменить вызов keybd_event
на SendInput. Вы можете вставить столько событий нажатия клавиш, сколько позволит система событий. Функция возвращает количество успешно вставленных событий.
Что вы пытаетесь достичь? Клавиши, которые должны оставаться нажатыми, уже должны делать это с вашей первой строкой.
Вот документация для keybd_event(). Возможно, это поможет ответить на ваш вопрос. (А может вам нужен был метод GetKeyboardState()?)
Если вы просто пытаетесь повторно нажать клавишу, будет проще зациклиться на первом вызове, чем пытаться заставить систему автоматически повторяться. Вы можете найти правильную задержку для использования в функциях API системной информации.