溫馨提示×

Delphi怎么阻止計算機關閉

小億
147
2023-10-24 22:05:01
欄目: 編程語言

在Delphi中,可以使用Windows API函數來阻止計算機關閉。下面是一個示例代碼:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  // 阻止計算機關閉
  CanClose := False;

  // 顯示一個提示對話框,詢問用戶是否關閉程序
  if MessageDlg('確認關閉程序?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    CanClose := True;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  // 注冊一個關閉事件
  Application.OnQueryEndSession := FormCloseQuery;
end;

end.

在上面的示例中,使用了Application.OnQueryEndSession事件來注冊關閉事件。在關閉事件的處理程序中,將CanClose參數設置為False,以阻止計算機關閉。然后,使用MessageDlg函數顯示一個提示對話框,詢問用戶是否關閉程序。如果用戶選擇關閉程序,則將CanClose參數設置為True,允許計算機關閉。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女