![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Короче говоря. Нужно чтобы программа зажимала кнопку и затем отжимала, спустя некоторое время ( q ) также зажимала и отжимала кнопку, но уже другую кнопку
Вот написал, а оно не работает. В чём проблемка может быть? Код:
procedure TForm1.tmr1Timer(Sender: TObject);
var
q: Integer;
begin
keybd_event(Byte('A'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(Byte('W'), 0, 0, 0);
Sleep(q);
keybd_event(Byte('W'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(Byte('D'), 0, 0, 0);
Sleep(q);
keybd_event(Byte('D'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(Byte('S'), 0, 0, 0);
Sleep(q);
keybd_event(Byte('S'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(Byte('A'), 0, 0, 0);
Sleep(q);
begin
if rb1.Checked then
q:= 1000;
end;
begin
if rb2.Checked then
q:= 2000;
end;
begin
if rb3.Checked then
q:= 3000;
end;
begin
if rb4.Checked then
q:= 4000;
end;
begin
if rb5.Checked then
q:= 5000;
end;
end; |
|
#2
|
||||
|
||||
|
Назначили переменной q некоторое значение и что дальше? Где она изменяется/используется. Использовать Sleep в таймере?... Нонсенс.
|
|
#3
|
|||
|
|||
|
ну я только учусь
![]() |
|
#4
|
||||
|
||||
|
Глобальная переменная наращивается и сравнивается с q, при равенстве, q обнуляется и выполняется требуемое действие. Не забудь учесть время выставленное для таймера.
|
|
#5
|
||||
|
||||
|
Программа задом наперед написана.
Переменную q проинициализируй до эмуляции нажатия клав. P.S. Синхронно нах :-) |
| Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
Flop88 (19.08.2012)
| ||