Delphi 服务程序[2] TService 属性、事件

Delphi 服务程序[2] TService 属性、事件

1、TService属性:

  • AllowPause: //是否允许暂停
  • AllowStop: //是否允许停止
  • Dependencies: //设置该服务与其他服务的依赖关系
  • DisplayName: //在Windows服务管理器中显示的名称(注意:不是服务名)
  • Name: //服务名称,使用/install参数安装时安装的服务名为此属性值
  • Interactive: //是否要与桌面进行交互
  • StartType: //服务的启动方式
  • ServiceStartName: //设定用于启动服务的用户名
  • Password: //密码

2、TService事件:

  • ServiceStart  //在该服务启动的时候调用OnStart事件,参数Started的默认为True,所以不用在该事件中再设置Started := True; 在此事件中如果判断某些条件不允许服务运行,则可以将Started置为False,这样服务将会不再启动。
procedure TService1.ServiceStart(Sender: TService; var Started: Boolean);   
  • ServiceStop  //在该服务被停止的时候调用OnStop事件,Stopped的默认为True,在此事件中如果判断某些条件不允许服务停止则可将Stopped置为False来防止服务被停止。
procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean);
  • ServiceExecute  //服务的主体执行部分,需要将服务的主要功能实现代码放在此事件中,此过程执行完毕后服务将会自动停止,所以一般在此事件中要写类似如下代码:
procedure TService1.ServiceExecute(Sender: TService);
begin
  while not Terminated do
  begin
    Sleep(10);
    ServiceThread.ProcessRequests(False);
  end;
end;
  • ServicePause  //在服务被暂停时调用的事件,Paused的含义类似ServiceStart事件中的Started.
procedure TService1.ServicePause(Sender: TService; var Paused: Boolean);
  • ServiceContinue  //服务被暂停后重新启动继续执行时调用的事件,Continued的含义类似ServiceStart事件中的Started
procedure TService1.ServiceContinue(Sender: TService; var Continued: Boolean);

  

 

 

创建时间:2021.01.21  更新时间:

 

Delphi 服务程序[2] TService 属性、事件

上一篇:【Serde】JSON 转 Value


下一篇:理解C#中的 async await