Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.124 Beiträge
 
Delphi 12 Athens
 
#5

AW: Dienst Starten/Stoppen Windows Server 2012

  Alt 1. Okt 2016, 02:00
Ich hab da mal was ausgekoppelt.
Delphi-Quellcode:
if ServiceControl.Start('DeinService') then

if ServiceControl.Stop('DeinService') then
Delphi-Quellcode:
uses
  System.TypeInfo;

procedure TForm6.FormCreate(Sender: TObject);
var
  Arr: TArray<string>;
begin
  Memo1.Lines.Add('GetStatusStr '   + ServiceControl.GetStatusStr('DeinService'));
  Memo1.Lines.Add('GetStatus ' + GetEnumName(TypeInfo(ServiceControl.TStatus), Ord(ServiceControl.GetStatus('DeinService'))));
  Memo1.Lines.Add('IsRunning ' + BoolToStr(ServiceControl.IsRunning('DeinService'), True));
  Memo1.Lines.Add('IsInteractive ' + BoolToStr(ServiceControl.IsInteractive('DeinService'), True));
  Memo1.Lines.Add('AcceptControl ' + SetToString(PTypeInfo(TypeInfo(ServiceControl.TAccepts)), Byte(ServiceControl.AcceptControl('DeinService')), True));
  Memo1.Lines.Add('GetDisplayName ' + ServiceControl.GetDisplayName('DeinService'));

  if True {IsAdmin} then begin
    if ServiceControl.Start('DeinService') then
      Memo1.Lines.Add('Start') else Memo1.Lines.Add('NOT Start');
    if ServiceControl.TAccept.PauseContinue in ServiceControl.AcceptControl('DeinService') then begin
      if ServiceControl.Pause('DeinService') then
        Memo1.Lines.Add('Pause') else Memo1.Lines.Add('NOT Pause');
      if ServiceControl.Continue('DeinService') then
        Memo1.Lines.Add('Continue') else Memo1.Lines.Add('NOT Continue');
    end;
    if ServiceControl.Stop('DeinService') then
      Memo1.Lines.Add('Stop') else Memo1.Lines.Add('NOT Stop');
  end;

  Arr := ServiceControl.GetDependencies('DeinService');
  Memo1.Lines.Add('* GetDependencies ' + IntToStr(Length(Arr)));
  Memo1.Lines.AddStrings(Arr);

  Arr := ServiceControl.EnumServices;
  Memo1.Lines.Add('* EnumServices False ' + IntToStr(Length(Arr)));
  Memo1.Lines.AddStrings(Arr);

  Arr := ServiceControl.EnumServices([ServiceControl.TState.All], True);
  Memo1.Lines.Add('* EnumServices True ' + IntToStr(Length(Arr)));
  Memo1.Lines.AddStrings(Arr);
end;
Angehängte Dateien
Dateityp: pas h5u.WinAPI.pas (23,5 KB, 35x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 1. Okt 2016 um 02:03 Uhr)
  Mit Zitat antworten Zitat