Delphi怎么阻止计算机关闭

avatar
作者
猴君
阅读量:5

在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,允许计算机关闭。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!