服务端关机时的处理
一般这类程序在运行时,当进行关机操作,其它程序都被关掉了,只有它们不为所动。所以必须对关机消息进行处理。
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('SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices',True);
Reg.WriteString(...);
reg.free;
end;
--------------------------------------------
湖北襄樊 官本和(gbh12345@china.com) 2001.4
详见主页源程序: