コンピューターのシャットダウンを検出して防止するために、私は非常に単純なプログラムを使用しています。以下のように、1 つのフォームと 1 つのプライベート プロシージャしかありません。
TForm3 = class(TForm)
private
procedure WMQueryEndSession(var Msg : TWMQueryEndSession) ;
message WM_QueryEndSession;
end;
そして実装
procedure TForm3.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
Msg.Result := 0; //so I don't want to shutdown while my program is running
end;
Delphi 5 と Delphi 2010 でコンパイルしました。どちらもシャットダウンを検出します。しかし、Delphi 2010 でコンパイルすると、シャットダウンを防止した後、プログラムが閉じます。(PCはシャットダウンしません)
両方から同じ結果を得るにはどうすればよいですか?