delphi判断服务已经被注册

发布时间 2023-06-25 10:07:48作者: onlyou13
uses Winapi.WinSvc;

function
IsServiceRegistered(const ServiceName: string): Boolean; var SCM: SC_HANDLE; Service: SC_HANDLE; begin Result := False; // 打开服务控制管理器 SCM := OpenSCManager(nil, nil, SC_MANAGER_CONNECT); if SCM = 0 then Exit; try // 打开指定的服务 Service := OpenService(SCM, PChar(ServiceName), SERVICE_QUERY_STATUS); if Service <> 0 then begin Result := True; // 服务已注册 CloseServiceHandle(Service); end; finally CloseServiceHandle(SCM); // 关闭服务控制管理器 end; end;