服务控制程序

Windows NT服务程序不同于一般的运行程序,它不需要NT登录进去,只需要开机进入NT系统便可以运行,一般用于系统服务方面的应用。

1、新建服务应用程序“Service Application”,设置 DisplayName、ServiceStartName、Password。

属性/方法/事件 意义
AllowPause 允许暂停
AllowStop 允许停止
Dependencies 依赖的其他服务列表
DisplayName 服务显示名称
ErrorSeverity 启动失败选项
Interactive 是否允许桌面交互(类型为WIN32)
LoadGroup
Name
OldCreateOrder
Password 启动用户的密码
ServiceStartName 启动用户名
ServiceType 服务类型,设备/文件系统/WIN32
StartType 启动类型,自动、手动等
Tag
TagID
WaitHint
OnStart 启动服务事件
OnStop 停止服务事件
OnPause 暂停服务事件
OnContinue 继续服务事件

2、添加线程“Thread Object”,编写 Execute 代码,其中一般为判断条件,运行代码以及 Sleep 延时。

3、编写服务应用程序事件代码。

procedure TDataBackup.DataBackupStart(Sender: TService;  var Started: Boolean);
begin
   DataThread:= TDataCopy.Create(False);
   Started := True;
end;
procedure TDataBackup.DataBackupStop(Sender: TService;  var Stopped: Boolean);
begin
  DataThread.Terminate;
  Stopped := True;
end;
procedure TDataBackup.DataBackupPause(Sender: TService;  var Paused: Boolean);
begin
  DataThread.Suspend;
  Paused := True;
end;
procedure TDataBackup.DataBackupContinue(Sender: TService;  var Continued: Boolean);
begin
  DataThread.Resume;
  Continued := True;
end;

4、安装服务参数 /install,卸载服务参数 /uninstall。