掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
一定時間のアイドルでプログラムを終了したい (ID:41316)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
procedure TForm1.FormCreate(Sender: TObject); begin fLastTouchMSec := GetTickCount; Timer1.Interval := 1000; Timer1.Enabled := True; end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin fLastTouchMSec := GetTickCount; end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin fLastTouchMSec := GetTickCount; end; procedure TForm1.Timer1Timer(Sender: TObject); var IdleMSec:Cardinal; begin IdleMSec := GetTickCount - fLastTouchMSec; Caption := '最後に触ってから' + IntToStr(IdleMSec div 1000) + '秒経過'; //10sec if IdleMSec > 10*1000 then Close; end; 50日以上PCを再起動しない場合があるときは、タイマーでカウントアップしたりしてください。 http://msdn.microsoft.com/ja-jp/library/cc429827.aspx Vista,7なら似た様な関数でもっとバッファの大きな関数があります。 GetTickCount64 http://msdn.microsoft.com/ja-jp/site/ms724411 QueryUnbiasedInterruptTime http://msdn.microsoft.com/ja-jp/site/dd405535 https://www.petitmonte.com/bbs/answers?question_id=7040
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.