掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Windowsのシャットダウンを検出する方法 (ID:24824)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
そういうアプリよく書きますが、 普通にシャットダウンできると思いますよ。 どういうコード書いてます? とりあえずシャットダウンを検知できるようにするには こんな感じでしょう。 もしかしたら、Formを使わないアプリケーションになっているのかな? TMainForm = class(TForm) private FQueryEndSession: Boolean; FEndSessionLogOff: LongInt; procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION; public { Public 宣言 } end; procedure TMainForm.WMQueryEndSession(var Msg:TWMQueryEndSession); begin FQueryEndSession := true; FEndSessionLogOff := Msg.Unused; inherited; end; procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if FQueryEndSession then begin FQueryEndSession := false; if (FEndSessionLogOff and ENDSESSION_LOGOFF) <> 0 then begin // ログオフ要求時の処理 WriteFileRunningTimeData('プログラム終了'+TAB+'ログオフ'); end else begin // シャットダウン要求時の処理 WriteFileRunningTimeData('プログラム終了'+TAB+'シャットダウン'); end; end else begin // 上記以外でフォームを閉じる要求時の処理 WriteFileRunningTimeData('プログラム終了'+TAB+'通常'); end; if CanClose then begin end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.