OSDN Git Service

Windows終了時には、クライアントの終了確認ダイアログが出ないように変更(#210)。
authornaru <bottle@mikage.to>
Sun, 14 Mar 2004 08:03:02 +0000 (08:03 +0000)
committernaru <bottle@mikage.to>
Sun, 14 Mar 2004 08:03:02 +0000 (08:03 +0000)
bottleclient/MainForm.pas

index ec86f9d..24d0c96 100755 (executable)
@@ -275,6 +275,7 @@ type
     FConnecting: boolean;
     FAdded: boolean;
     FBooted: boolean; //\8f\89\89ñ\8bN\93®\92Ê\90M\97p
+    FEndSession: Boolean; // Windows\8fI\97¹\82ð\8c\9f\92m\82µ\82Ätrue\82É\82È\82é
     FOriginalCaption: String;
     FAutoAddAfterGetChannel: boolean; //\83`\83\83\83\93\83l\83\8b\8eæ\93¾\8cã\82É\83_\83C\83A\83\8d\83O\82È\82µ\82É
                                       //\83`\83\83\83\93\83l\83\8b\82É\8eQ\89Á\82·\82é\82©\82Ç\82¤\82©
@@ -358,6 +359,8 @@ type
     procedure AppendXMLLog(const FileName: String; Args: THeadValue);
   protected
     procedure WndProc(var Message: TMessage); override;
+    procedure WMQueryEndSession(var msg: TWMQueryEndSession);
+      message WM_QUERYENDSESSION;
   public
     function DoTrans(var Script: String;
       Options: TScriptTransOptions): String; overload;
@@ -2155,9 +2158,11 @@ end;
 procedure TfrmSender.FormCloseQuery(Sender: TObject;
   var CanClose: Boolean);
 begin
-  if not Pref.ConfirmOnExit then Exit;
+  if (not Pref.ConfirmOnExit) or FEndSession then
+    Exit;
   if MessageDlg('SSTP Bottle Client\82ð\8fI\97¹\82µ\82Ü\82·', mtConfirmation,
-                mbOkCancel, 0) = mrCancel then CanClose := false;
+                mbOkCancel, 0) = mrCancel then
+    CanClose := false;
 end;
 
 procedure TfrmSender.UpdateIfGhostBox;
@@ -3206,4 +3211,11 @@ begin
   end;
 end;
 
+procedure TfrmSender.WMQueryEndSession(var msg: TWMQueryEndSession);
+begin
+  // Windows\82ª\8fI\97¹\82µ\82æ\82¤\82Æ\82µ\82Ä\82¢\82é\82Ì\82ð\8a´\92m\82·\82é
+  FEndSession := true;
+  inherited;
+end;
+
 end.