http://delphi.cxc.cc/jiqiao/019.htm
關鍵是捕獲消息WMQueryEndSession
並另其強制返回0
下面是代碼
代碼: 選擇全部
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, forms, Dialogs;
type
Tform1 = class(Tform)
procedure formCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
procedure WMQueryEndSession( var Message: TWMQueryEndSession); message W
M_QUERYENDSESSION;
public
{ Public declarations }
end;
var
form1: Tform1;
implementation
{$R *.DFM}
procedure Tform1.WMQueryEndSession( var Message: TWMQueryEndSession);
begin
Message.Result:=0;
end;
procedure Tform1.formCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := True;
if MessageDlg('確定退出程式?',mtInformation, mbOKCancel, 0) = mrCancel th
en
CanClose := False;
end;
end.