Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->mysql服务的注册,启动、停止、注销。unitService;interface
usesWindows,Classes,SysUtils,Winsvc,winsock;
Type{服务句柄信息}TScmInfo=Record
HostName :String;
DataBaseName:String;
DesireAccess :DWORD;
End;{服务信息}TSvcInfo=Record
HscManager :Integer;
ServerName :String;//服务名
DisplayName :String;//服务的显示名
DesireAccess :DWORD;//ServiceType :Dword;//服务的类别
StartType :Dword;//服务的启动方式
ErrorControl :Dword;//服务错误控制方式
BinaryPathName :String;//服务执行文件的具体路径
LoadOrderGroup :String;
TagId :Dword;
Dependencies :String;//依赖:有多个依赖的服务时,中间以空格隔开}
ServerStartName :String;
Password :String;
End;//需要注册的服务信息数组
SvcArray=Array[1..20] ofTSvcInfo;
Type{服务控制类}TService=Class(TObject)
Private
Scm_Info :TScmInfo;
Svc_Info :TSvcInfo;
ScmHandle :Integer;{服务句柄}SvcHandle :Integer;
Public
Constructor Create();
Destructor Destroy();Override;
Function SetScmInfo():Boolean;
Function OpenScmHandle():Integer;
Function SetServiceInfo(TmpSvc :TsvcInfo):Boolean;{建立一服务}Function CreateService0():Boolean;{删除一服务}Function Delete_AService(ServiceName :String):Boolean;{一服务}Function Open_Service(ServiceName :String):Boolean;{/}
{// 函数名称: IsSvcExists()
{// 函数功能: 判断系统中相关的服务是否存在
{// 参数信息: 需要判断的服务名
{// 返回值: TRUE : WINDOWS 中的服务已存在,FALSE :WINDOWS 中的服务不存在
{//
{/}Function isSvcExists(ServiceName :string):Boolean;{/}
{// 函数名称: Start_Service() Control_Service
{// 函数功能: 启动相关的服务进程
{// 参数信息: 需要启动的服务名
{// 返回值: TRUE :服务已经启动;FALSE:服务启动失败;
{/}Function Control_Service(ServiceName : String; controlType :integer):Boolean;{/}
{// 函数名称: IsServiceStart()
{// 函数功能: 判断服务是否启动
{// 参数信息: 需要判断的服务名
{// 返回值: TRUE :服务已经启动; FALSE :服务已停止
{/}Function IsServiceStart(ServiceName:String):Boolean;
End;implementation
{TService}
constructorTService