📄 unit3.pas
字号:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, SvcMgr, ExtCtrls;
type
TService2 = class(TService)
Timer1: TTimer;
procedure ServiceStop(Sender: TService; var Stopped: Boolean);
procedure ServiceStart(Sender: TService; var Started: Boolean);
procedure ServiceShutdown(Sender: TService);
procedure ServicePause(Sender: TService; var Paused: Boolean);
procedure ServiceExecute(Sender: TService);
procedure ServiceContinue(Sender: TService; var Continued: Boolean);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
function GetServiceController: TServiceController; override;
{ Public declarations }
end;
var
Service2: TService2;
implementation
uses Unit1;
{$R *.DFM}
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
Service2.Controller(CtrlCode);
end;
function TService2.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
procedure TService2.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
if Assigned(Form1) then
begin
Form1.Timer1.Tag:=10;
form1.Close;
end;
Stopped := True;
end;
procedure TService2.ServiceStart(Sender: TService; var Started: Boolean);
begin
//服务开始运行
//Svcmgr.Application.CreateForm(TForm1, Form1);
Timer1.Enabled:=True;
end;
procedure TService2.ServiceShutdown(Sender: TService);
begin
Status := csStopped;
ReportStatus();
end;
procedure TService2.ServicePause(Sender: TService; var Paused: Boolean);
begin
Paused := True;
end;
procedure TService2.ServiceExecute(Sender: TService);
begin
while not Terminated do
begin
Sleep(10);
ServiceThread.ProcessRequests(False);
end;
end;
procedure TService2.ServiceContinue(Sender: TService;
var Continued: Boolean);
begin
while not Terminated do
begin
Sleep(10);
ServiceThread.ProcessRequests(False);
end;
end;
procedure TService2.Timer1Timer(Sender: TObject);
var
DC:HDC;
begin
Timer1.Enabled:=False;
if not Assigned(Form1) then
Form1:=TForm1.Create(nil);
//form1.Show;
DC:=GetDC(0);
Textout(DC,10,10,'定时关机或重启服务启动',length('定时关机或重启服务启动'));
ReleaseDC(0,DC);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -