AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Herausbekommen ob Dienst Pausierbar oder Abbrechbar ist
Thema durchsuchen
Ansicht
Themen-Optionen

Herausbekommen ob Dienst Pausierbar oder Abbrechbar ist

Ein Thema von Metal_Snake2 · begonnen am 18. Apr 2006 · letzter Beitrag vom 19. Apr 2006
Antwort Antwort
Metal_Snake2

Registriert seit: 19. Nov 2004
134 Beiträge
 
Delphi 7 Personal
 
#1

Herausbekommen ob Dienst Pausierbar oder Abbrechbar ist

  Alt 18. Apr 2006, 17:50
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.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Herausbekommen ob Dienst Pausierbar oder Abbrechbar ist

  Alt 18. Apr 2006, 18:36
Das lässt sich aus dem Servicestatus (Record TServiceStatus aus Unit WinSvc) im Element dwControlsAccepted auslesen.
Die JCL hat übrigens die Klasse TJclNtService; darin ist alles was man braucht objektorientiert gekapselt.
Andreas
  Mit Zitat antworten Zitat
Metal_Snake2

Registriert seit: 19. Nov 2004
134 Beiträge
 
Delphi 7 Personal
 
#3

Re: Herausbekommen ob Dienst Pausierbar oder Abbrechbar ist

  Alt 18. Apr 2006, 19:18
Welche werte kann den dwControlsAccepted haben, ich mein es ist ja ein Cardinal typ.
Wie kann ich enstprechende für die werte von ServiceStatus.dwControlsAccepted reagieren.

Delphi-Quellcode:

//Herausfinden ob man diesen service benden oder pausieren darf
function TServiceManager.CheckAcceptControl: DWord;
var
  ServiceStatus: TServiceStatus;
begin

  Result := 0;
  QueryServiceStatus(ServiceHandle, ServiceStatus);
  Result := ServiceStatus.dwControlsAccepted;
end;
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Herausbekommen ob Dienst Pausierbar oder Abbrechbar ist

  Alt 19. Apr 2006, 08:33
http://msdn.microsoft.com/library/de...status_str.asp
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz