Function ServiceIsRunning()function ServiceIsRunning(ServiceName: string): Boolean; var SCManager: THandle; HService: THandle; ServiceStatus: TServiceStatus; begin Result :=false; if HInst =0then Exit; SCManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS); if SCManager <>0then begin HService := OpenService(SCManager, PChar(ServiceName), GENERIC_READ); if HService <>0then begin if ControlService(HService, SERVICE_CONTROL_INTERROGATE, ServiceStatus) then begin //If QueryServiceStatus(hService, ServiceStatus) Then Begin if ServiceStatus.dwCurrentState = SERVICE_RUNNING then begin Result :=true; end; end; CloseServiceHandle(HService); end; CloseServiceHandle(SCManager); end