Пытаюсь решить задачу — сэмулировать удержание клавиш q,w,e,r,t,y с заданным временным лимитом.
Аналогично тому, как мы зажимая клавишу например в этом текстовом поле на 2 секунды: йййййййййй
Пытался решить через keybd_event как написано в сотнях мануалов:
C := ord('Q');
keybd_event(C,0,0,0);
sleep(2000);
keybd_event(C,0,KEYEVENTF_KEYUP,0);
Затем попытался отправить клавиатурный ввод тому же блокноту — в результате получаю только 1 символ
Если решать «в лоб», то я пытался зделать так: C := ord('Q');
for i := 1 to 200 do begin
keybd_event(C,0,0,0);
sleep(10);
end;
keybd_event(C,0,KEYEVENTF_KEYUP,0);
Но в таком случае количество символов будет отличаться от того, если бы я зажимал клавишу сам (будет введено 200 символов) + я думаю этот подход неверный.
Подскажите в какую сторону копать, что бы добиться реалистичного ввода зажатой клавиши :)
Итак, автоповтором занимается КЛАВИАТУРА (по крайней мере AT- или PS/2-, про USB- не скажу). Так что реалистично — никак. Разве что вычитать задержки клавиатуры из системы и повторить их самостоятельно.