type
TSysLock = class(TService)
procedure ServiceStart(Sender: TService; var Started: Boolean);
procedure ServiceStop(Sender: TService; var Stopped: Boolean);
procedure ServicePause(Sender: TService; var Paused: Boolean);
procedure ServiceShutdown(Sender: TService);
procedure ServiceExecute(Sender: TService);
procedure ServiceContinue(Sender: TService; var Continued: Boolean);
procedure ServiceCreate(Sender: TObject);
private
{ Private declarations }
public
function GetServiceController: TServiceController; override;
{ Public declarations }
end;
var
SysLock: TSysLock;
Frmlock: TFrmLock;
implementation
{$R *.DFM}
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
SysLock.Controller(CtrlCode);
end;
function TSysLock.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
procedure TSysLock.ServiceStart(Sender: TService; var Started: Boolean);
begin
Started := True;
SvcMgr.Application.CreateForm(TFrmLock,FrmLock);
//Frmlock.Hide;
end;
procedure TSysLock.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
Stopped := True;
FrmLock.Free;
end;
procedure TSysLock.ServicePause(Sender: TService; var Paused: Boolean);
begin
Paused := True;
end;
procedure TSysLock.ServiceShutdown(Sender: TService);
begin
FrmLock.Free;
Status := csStopped;
ReportStatus();
end;
procedure TSysLock.ServiceExecute(Sender: TService);
begin
while not Terminated do
begin
Sleep(10);
ServiceThread.ProcessRequests(False);
end;
end;
procedure TSysLock.ServiceContinue(Sender: TService;
var Continued: Boolean);
begin
while not Terminated do
begin
Sleep(10);
ServiceThread.ProcessRequests(False);
end;
end;
procedure TSysLock.ServiceCreate(Sender: TObject);
begin