Delphi 编写系统服务
来源:互联网 发布:淘宝上的杂货铺哪家好 编辑:程序博客网 时间:2024/05/16 14:48
打开Delphi 7,新建,选择Other->Service Application 修改属性中Name和DisplayName,Name是Service的名称,决定着进程的标识,DisplayName是显示在操作系统里的服务面板里的服务的名称。例如我们将Name修改为NoticeService。
新建一个类,例如名字叫做TNoticeThread,继承自TThread,并重写protected过程Execute。在NoticeService的类定义中添加一个NoticeThread对象。
找到属性的Events选项卡,分别添加OnStart,OnPause,OnContinue,OnStop事件,用这几个事件来控制NoticeThread线程的运行:
代码如下:
unit ufrmMain;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs;type TNoticeThread = class(TThread) private protected procedure Execute; override; end;type TNoticeService = class(TService) procedure ServiceStart(Sender: TService; var Started: Boolean); procedure ServiceStop(Sender: TService; var Stopped: Boolean); procedure ServicePause(Sender: TService; var Paused: Boolean); procedure ServiceContinue(Sender: TService; var Continued: Boolean); private NoticeThread: TNoticeThread; public function GetServiceController: TServiceController; override; end;var NoticeService: TNoticeService;implementation{$R *.DFM}procedure ServiceController(CtrlCode: DWord); stdcall;begin NoticeService.Controller(CtrlCode);end;function TNoticeService.GetServiceController: TServiceController;begin Result := ServiceController;end;procedure TNoticeService.ServiceStart(Sender: TService; var Started: Boolean);begin NoticeThread := TNoticeThread.Create(False); Started := True;end;procedure TNoticeService.ServiceStop(Sender: TService; var Stopped: Boolean);begin NoticeThread.Terminate; Stopped := True;end;procedure TNoticeService.ServicePause(Sender: TService; var Paused: Boolean);begin NoticeThread.Suspend; Paused := True;end;procedure TNoticeService.ServiceContinue(Sender: TService; var Continued: Boolean);begin NoticeThread.Resume; Continued := True;end;{ TNoticeThread }procedure TNoticeThread.Execute;begin inherited;end;end.
- Delphi 编写系统服务
- Delphi编写系统服务一:如何编写一个系统服务
- Delphi编写系统服务三:编写两栖系统服务
- Delphi编写系统服务三:编写两栖系统服务
- Delphi编写系统服务一:如何编写一个系统服务
- Delphi编写Windows系统服务程序【转帖】
- Delphi 服务程序编写
- Delphi编写系统服务七:完成端口演示
- Delphi编写系统服务七:完成端口演示
- Delphi编写系统服务二:系统服务和桌面程序的区别
- Delphi编写系统服务四:如何限制系统服务和桌面程序只运行一个
- Delphi编写系统服务五:在系统服务和桌面程序之间共享内存
- Delphi编写系统服务五:在系统服务和桌面程序之间共享内存
- Delphi编写系统服务四:如何限制系统服务和桌面程序只运行一个
- Delphi编写系统服务二:系统服务和桌面程序的区别
- Delphi 编写Windows NT服务
- DELPHI编写服务程序总结
- Delphi编写系统服务六:在服务中使用COM组件
- IIS FTP PASV模式下更改端口范围
- javascript触发后台事件
- 点击“下一页”时Request传值丢失
- 常用好网站
- 主数据管理和实施
- Delphi 编写系统服务
- C++中static const成员
- memcache的运行状态可以方便的用stats命令显示
- html代码转码与反转码JS实现
- VSync Count 垂直同步
- 互联网产品经理常用软件及工作平台
- 查看内存工具
- 实时系统RTX之理解一
- PowerShell统计命令