PDA

View Full Version : تشخیص تایم بیکاری در برنامه (idle)



javad_rajabloo
شنبه 31 تیر 1391, 22:48 عصر
سلام

یه برنامه نوشتم 35 تا فرم تو در تو داره

می خوام در هر فرم که هستم ، کاربر بعد از اینکه مثلا مدت 3 دقیقه هیچ کاری نکرد ، اتوماتیک بیاد صفحه اول

ممنون میشم یه راه ساده ارائه بدید.

Felony
شنبه 31 تیر 1391, 23:27 عصر
یه تایمر روی فرم برنامت بزار و کد زیر رو تو رویداد OnTimer ش بنویس :

var
LastInput: TLastInputInfo;
IdleMinute: Word;
FormCount: Byte;
begin
LastInput.cbSize := SizeOf(TLastInputInfo);
GetLastInputInfo(LastInput);
IdleMinute := (GetTickCount - LastInput.dwTime) DIV 60000;
if (IdleMinute = 3) then
begin
for FormCount := 0 to Application.ComponentCount - 1 do
if (Application.Components[FormCount] is TForm) AND
(Application.Components[FormCount] <> Application.MainForm) then
TForm(Application.Components[FormCount]).Close;
Application.MainForm.Show;
Application.MainForm.BringToFront;
end;
end;