Имитация удерживая клавишу - PullRequest
0 голосов
/ 01 июня 2009

Я использую:

keybd_event(0x41, 0, 0, 0);

0x41 - это «а». Но это просто печатает один «а» на экране. Мне нужно, чтобы удерживал ключ. И когда я звоню

keybd_event(0x41, 0, KEYEVENTF_KEYUP, 0);

он должен отпустить ключ.

Это возможно?

Ответы [ 2 ]

1 голос
/ 01 июня 2009

Вы можете заменить вызов keybd_event на SendInput . Вы можете вставить столько событий нажатия клавиш, сколько позволит система событий. Функция возвращает количество успешно вставленных событий.

0 голосов
/ 01 июня 2009

Чего ты пытаешься достичь? Клавиши, которые должны оставаться нажатыми, должны уже делать это с вашей первой строкой.

Вот документация для keybd_event (). Может быть, это поможет ответить на ваш вопрос. (А может быть, вам нужен метод GetKeyboardState ()?)

Если вы просто пытаетесь несколько раз нажать клавишу, было бы проще выполнить цикл вокруг первого вызова, чем пытаться заставить систему автоматически повторяться. Вы можете найти правильную задержку для использования в функциях API системной информации.

...