unit start;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
Const RSP_SIMPLE_SERVICE = 1;
Const RSP_UNREGISTER_SERVICE = 0;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Function GetCurrentProcessId():Longint;stdcall;far;external 'kernel32';
Function GetCurrentProcess():Longint;stdcall;far;external 'kernel32';
Function RegisterServiceProcess(dwProcessID:Longint;dwType:Longint):Longint;stdcall;far;external 'kernel32';
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
pid:longint;
begin
pid:=GetCurrentProcessId(); //得到当前进程ID
RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE);//把本程序注册为service
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
pid:Longint;
begin
pid:=GetCurrentProcessId();
RegisterServiceProcess(pid,RSP_UNREGISTER_SERVICE);
end;
end.
//调试过了,在win98+Delphi5通过!