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。