Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.03.2012, 19:18
Аватар для Klyaksa
Klyaksa Klyaksa вне форума
Новичок
 
Регистрация: 07.01.2012
Сообщения: 90
Репутация: 10
Вопрос Задержка между кодом программы

Всем привет. Возникла такая проблемка. Как реализовать задержку между кодом программы без применения sleep().
Код:
procedure dvizhok();
delay(10000);
 keybd_event(1,29,0,0);
 delay(100);
 setcursorpos(812,560);
 delay(100);
 mouse_event(mouseeventf_move,1,0,0,0);
 delay(100); 
end;
Delay беру от сюда.
Код:
procedure Delay (Milliseconds: Integer);
var
Tick: DWord;
Event: THandle;
begin
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWord(Milliseconds);
while (Milliseconds > 0) and
(MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
begin
Application.ProcessMessages;
Milliseconds := Tick - GetTickcount;
if Application.Terminated then Exit;
end;
finally
CloseHandle(Event);
end;end;
Вроде все правильно ниче не подвисает, но когда вызывается процедура Delay доходит до Application.ProcessMessages; обновлется окно и процедура dvizhok выполняется по новой не дойдя до конца.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:32.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025