程序功能:创建系统服务,开机自动运行,监测某一程序是否正在运行,如果没有运行,则每隔5秒弹出一个提示消息框
程序实现:
1、启动Delphi6.0或者7.0 File->New->Other...->Service Application
2、设置服务属性 Interactive := True; DisplayName := '监测当前进程'; Name := 'InspectService';(Interactive := True确保服务可以与桌面交互)
3、添加新的Form,Unit名称Unit_FrmMain,Form名称FrmMain
4、编写弹出消息线程:MessageThread
特别注意:一定要编写关机事件并注册,否则由于服务不能停止导致无法关机
程序源代码如下:
工程文件
- Program InspectExe;
- Uses
- SvcMgr,
- Unit_Main In 'Unit_Main.pas' {InspectService: TService},
- Unit_FrmMain In 'Unit_FrmMain.pas' {FrmMain};
- {$R *.RES}
- Begin
- Application.Initialize;
- Application.CreateForm(TInspectService, InspectService);
- Application.Run;
- End.
服务单元
- Unit Unit_Main;
- Interface
- Uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs, WinSvc,
- Unit_FrmMain;
- Type
- TInspectService = Class(TService)
- Procedure ServiceContinue(Sender: TService; Var Continued: Boolean);
- Procedure ServiceExecute(Sender: TService);
- Procedure ServicePause(Sender: TService; Var Paused: Boolean);
- Procedure ServiceShutdown(Sender: TService);
- Procedure ServiceStart(Sender: TService; Var Started: Boolean);
- Procedure ServiceStop(Sender: TService; Var Stopped: Boolean);
- private</