Guten tag,
ich beschäftige mich zurzeit mit Diensten. Um mit den Diensten umgehen zu können benutze ich die "WinSvc"
unit.
Dabei ist mir aufgefallen das manche dienste Nicht abbrechbar oder auch nicht Pausierbar sind, bei machen Diensten jedoch
funktioniert beides. Wo kann ich ansetzen um herauszufinden ob ein Dienst abbrechbar oder pausierbar ist?
folgender code(aus swissdelphicenter) funktioniert demnach nicht bei allen diensten.
Delphi-Quellcode:
procedure TServiceManager.PauseService;
var
ServiceStatus: TServiceStatus;
begin
{ Pause the service: attention not supported by all services }
ControlService(ServiceHandle, SERVICE_CONTROL_PAUSE, ServiceStatus);
end;
function TServiceManager.StopService: Boolean;
var
ServiceStatus: TServiceStatus;
begin
{ Stop the service }
Result := ControlService(ServiceHandle, SERVICE_CONTROL_STOP, ServiceStatus);
end;
procedure TServiceManager.ContinueService;
var
ServiceStatus: TServiceStatus;
begin
{ Continue the service after a pause: attention not supported by all services }
ControlService(ServiceHandle, SERVICE_CONTROL_CONTINUE, ServiceStatus);
end;
procedure TServiceManager.ShutdownService;
var
ServiceStatus: TServiceStatus;
begin
{ Shut service down: attention not supported by all services }
ControlService(ServiceHandle, SERVICE_CONTROL_SHUTDOWN, ServiceStatus);
end;
Danke für Antworten.