PDA

Просмотр полной версии : [Помогите!] Эмуляция нажатий клавиатуры


Роспотребнадзор
29.02.2012, 14:47
Вот кусок кода


procedure TForm1.sButton1Click(Sender: TObject);
begin
NeedStop := False;// глобальная переменная
for I := 0 to 10000 do

// тут процесс эмуляции клавиш
end;

procedure TForm1.sButton2Click(Sender: TObject);
begin
NeedStop := True;
end;


Как эмулировать нажатие клавиш на клавиатуре? Как можно задать паузу между нажатиями клавиш?Пробовал SendMassage и прочее, не получалось /kidding

MarrakeSH
29.02.2012, 15:21
procedure TForm1.sButton1Click(Sender: TObject);
begin
NeedStop := False;// глобальная переменная
for I := 0 to 10000 do
begin
keybd_event(ord('тут клавиша которую надо'), 0, 0, 0);
keybd_event(ord('таже клавиша'), 0, KEYEVENTF_KEYUP, 0);
end;
end;

procedure TForm1.sButton2Click(Sender: TObject);
begin
NeedStop := True;
end;

P.s По этому твоему коду клавиша нажмётся 10000 раз

Роспотребнадзор
29.02.2012, 15:24
procedure TForm1.sButton1Click(Sender: TObject);
begin
NeedStop := False;// глобальная переменная
for I := 0 to 10000 do
begin
keybd_event(ord('тут клавиша которую надо'), 0, 0, 0);
keybd_event(ord('таже клавиша'), 0, KEYEVENTF_KEYUP, 0);
end;
end;

procedure TForm1.sButton2Click(Sender: TObject);
begin
NeedStop := True;
end;

P.s По этому коду клавиша нажмётся 10000 раз

Спасибо. Я в первом посте еще про паузу писал. Можно ли паузу организовать? pause(3000); Так?/dgs

MarrakeSH
29.02.2012, 15:30
Я в первом посте еще про паузу писал. Можно ли паузу организовать? pause(3000); Так?
sleep(время в мс)

Роспотребнадзор
29.02.2012, 15:32
sleep(время в мс)

Точно. Спасибо, я знал этот оператор, только забыл/dgs

VeTaL_UA
29.02.2012, 19:06
PostMessage, нЭ? Или целью было сделать всё на WinApi?