服務端關機時的處理
一般這類程序在運行時,當進行關機操作,其它程序都被關掉了,只有它們不為所動。所以必須對關機消息進行處理。
PRocedure exitwin(var msg:TWMQUERYENDsession);message WM_QUERYENDSESSION;
procedure TServer.exitwin(var msg: TWMQUERYENDSESSION);
begin
inherited;
server.Close;
end;
程序退出時寫注冊表,防止用regedit或msconfig把服務端程序從注冊表中去。這樣regedit或msconfig所作的工作白費,除非立即關電源
procedure TServer.FormDestroy(Sender: TObject);
var
reg:Tregistry;
s:string;
begin
s:=application.ExeName;
reg:=Tregistry.Create;
Reg.RootKey:=HKEY_LOCAL_MacHINE;
Reg.OpenKey('SOFTWAREMicrosoftWindowsCurrentVersionRunServices',True);
Reg.WriteString(...);
reg.free;
end;
--------------------------------------------
湖北襄樊 官本和([email protected]) 2001.4
詳見主頁源程序:
http://Delphi21cn.yeah.Net
http://personal.hb.cninfo.Net/~gbh