
03.02.2016, 11:39
|
 |
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
пример выполняет действие через 5 сек. после бездействия и повторяет выполнять действие каждые 5 сек. если бездействие продолжается:
Код:
unit Unit1;
interface
uses
Math,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, AppEvnts, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
ApplicationEvents1: TApplicationEvents; (* OnIdle *)
procedure ApplicationEvents1Idle(Sender: TObject; var Done: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
TickCount: DWORD = 0;
implementation
{$R *.dfm}
procedure TForm1.ApplicationEvents1Idle(Sender: TObject; var Done: Boolean);
var
LastInputInfo: TLastInputInfo;
begin
LastInputInfo.cbSize:=SizeOf(TLastInputInfo);
GetLastInputInfo(LastInputInfo);
if LastInputInfo.dwTime<>TickCount then TickCount:=Max(TickCount, LastInputInfo.dwTime);
if GetTickCount-TickCount>5000 then
begin
TickCount:=GetTickCount;
(* to do *)
Memo1.Lines.Add('*');
end;
end;
end.
__________________
Пишу программы за еду.
__________________
|