在Delphi中,可以使用Windows API函数来阻止计算机关闭。下面是一个示例代码:
unit Unit1;interfaceuses 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,允许计算机关闭。

