防止Windows关闭

Sim*_*aWB 6 delphi shutdown windows-messages

要检测并防止关机,我使用非常简单的程序.它只有一个表单和一个私有程序,如下所示:

TForm3 = class(TForm)
private
  procedure WMQueryEndSession(var Msg : TWMQueryEndSession) ;
         message WM_QueryEndSession;
end;
Run Code Online (Sandbox Code Playgroud)

和实施

procedure TForm3.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
  Msg.Result := 0; //so I don't want to shutdown while my program is running
end;
Run Code Online (Sandbox Code Playgroud)

我编译了Delphi 5和Delphi 2010.它们都检测到了shutdown.但是当我在Delphi 2010中编译时; 在阻止关机后我的程序关闭.(PC没有关机)

如何从两者中获得相同的结果?

Ale*_*lex 0

这看起来像是 Delphi 中的一个错误。我建议您将其发布到 Quality Central。

  • 我上个月已经向 QC 报告了这一点:http://qc.codegear.com/wc/qcmain.aspx?d=84886 (5认同)