delphi4arab منتديات دلفي للعرب
غلق البرنامج بعد وقت محدد - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : غلق البرنامج بعد وقت محدد (/showthread.php?tid=11668)



غلق البرنامج بعد وقت محدد - SOFIANE09 - 27-11-2021

السلام عليكم ممكن سؤال
اود غلق برنامجي عندما لا تتحرك الفأرة لمدة 05 دقائق - اي ام لم استخدم البرنامج خلال تلك الفترة- البرنامج ينغلق مباشرة دون امر مني هذا من باب الحماية


RE: غلق البرنامج بعد وقت محدد - مبرمج حر - 27-11-2021

وعليكم السلام
دالة الAPI لويندوز GetLastInputInfo
كود :
function SecondsIdle: DWord; var    liInfo: TLastInputInfo; begin    liInfo.cbSize := SizeOf(TLastInputInfo) ;    GetLastInputInfo(liInfo) ;    Result := (GetTickCount - liInfo.dwTime) DIV 1000; end; procedure TForm1.Timer1Timer(Sender: TObject) ; begin    Caption := Format('System IDLE last %d seconds', [SecondsIdle]) ; end;

الحدث
https://docwiki.embarcadero.com/Libraries/Alexandria/en/Vcl.Forms.TApplication.OnIdleApplication.OnIdle

استغلال الwindows message
كود :
type   TForm1 = class(TForm)     FTimer: TTimer;     procedure FormCreate(Sender: TObject);   private     { Déclarations privées }     procedure InitTimer;     procedure TimerTimer(Sender: TObject);     procedure Activite(var Msg : Tmsg; var Handled: Boolean);   public     { Déclarations publiques }   end; var   Form1: TForm1; implementation {$R *.DFM} procedure TForm1.InitTimer; var b : boolean; begin b := FTimer.Enabled; FTimer.Enabled := False; FTimer.Enabled := b; end; procedure TForm1.FormCreate(Sender: TObject); var Duration : integer; begin Duration := 1; FTimer := TTimer.Create(self); FTimer.OnTimer := TimerTimer; FTimer.Enabled := True; FTimer.Interval := Duration*60000;   // minutes -> millisecondes Application.OnMessage := Activite; end; procedure TForm1.TimerTimer(Sender: TObject); begin   Close; end; procedure TForm1.Activite(var Msg : Tmsg; var Handled: Boolean); begin   if ((Msg.message = WM_MOUSEMOVE) or (Msg.message = WM_KEYDOWN)) then        InitTimer;   Handled := false; end;



RE: غلق البرنامج بعد وقت محدد - wadoud - 01-12-2021

(27-11-2021, 05:49 AM)SOFIANE09 كتب : السلام عليكم ممكن سؤال
اود غلق برنامجي عندما لا تتحرك الفأرة لمدة 05 دقائق - اي ام لم استخدم البرنامج خلال تلك الفترة- البرنامج ينغلق مباشرة دون امر مني هذا من باب الحماية

ألق نظرة من هنــــــــــــــــــا:

وما التوفيق إلا من عند الله.


RE: غلق البرنامج بعد وقت محدد - SOFIANE09 - 03-12-2021

مشكور اخي الكريم هذا ما كان ينقني و شكرا للاخر مبرمج حر على الاضافة