Delphi編程禁止用戶關(guān)閉操作系統(tǒng)
Delphi編程禁止用戶關(guān)閉操作系統(tǒng),本實例介紹在程序運行的過程中禁止用戶關(guān)閉操作系統(tǒng)。
用戶是否可以關(guān)閉操作系統(tǒng)是通過對WM_QueryEndSession的處理來實現(xiàn)的,為此首先需要在程序中添加WM_QueryEndSession消息處理的聲明:
- procedure QueryEndSession(var Msg:TMessage);Message WM_QueryEndSession;
它的響應(yīng)代碼如下:
- procedure TForm1.QueryEndSession(var Msg:TMessage);
- begin
- Msg.Result:=0;
- end;
當(dāng)用戶關(guān)閉操作系統(tǒng)時,操作系統(tǒng)會發(fā)布一個WM_QueryEndSession消息,這時就會激活本實例程序中的QueryEndSession過程,程序通過設(shè)置消息的返回值為0,就會禁止用戶關(guān)閉操作系統(tǒng),反之如果設(shè)置消息的返回值為1,就會允許用戶關(guān)閉操作系統(tǒng)。
程序代碼如下:
- unit Unit1;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs;
- type
- TForm1 = class(TForm)
- private
- { Private declarations }
- procedure QueryEndSession(var Msg:TMessage);Message WM_QueryEndSession;
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.dfm}
- procedure TForm1.QueryEndSession(var Msg:TMessage);
- begin
- Msg.Result:=0;
- end;
- end.
保存文件,然后按F9鍵運行程序。只要本程序在正常運行,用戶就無法關(guān)閉操作系統(tǒng)。
在工程實際中,經(jīng)常需要使應(yīng)用程序不間斷地運行,為了防止意外因素關(guān)閉操作系統(tǒng),可以使用本實例介紹的方法。
【編輯推薦】