AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Prog das Anwendungen als Dienst startet
Thema durchsuchen
Ansicht
Themen-Optionen

Prog das Anwendungen als Dienst startet

Ein Thema von Baeuerle · begonnen am 30. Mär 2006 · letzter Beitrag vom 30. Mär 2006
Antwort Antwort
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#1

Prog das Anwendungen als Dienst startet

  Alt 30. Mär 2006, 12:18
Hallo,

ich möchte ein Tool schreiben, dass beliebige Anwendungen als Dienst startet. Hierzu benötige ich etwas Hilfe.

Meine Ideee:
Delphi-Quellcode:
procedure RegisterService(Name, DisplayName, ExeName: PChar);
var hSCM, hservice, i: Integer;
begin
hSCM:=OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if hSCM=0 then raise Exception.Create(SyserrorMessage(GetLastError));
hService:=CreateService(hSCM,Name,DisplayName,
                        SERVICE_START OR
                        SERVICE_QUERY_STATUS OR
                        _DELETE,
                        SERVICE_WIN32_OWN_PROCESS,
                        SERVICE_AUTO_START,
                        SERVICE_ERROR_NORMAL,
                        ExeName,
                        NIL, NIL, NIL, NIL,NIL);
if hService = 0 then
 begin
 CloseServiceHandle(hSCM);
 raise Exception.Create(SyserrorMessage(GetLastError));
 end;
CloseServiceHandle(hSCM);
CloseServiceHandle(hService);
end;
Der Dienst wird zwar installiert und unter den Windows Diensten angezeigt. Wenn ich versuche diesen zu starten bekomme ich aber die Fehlermeldung:

1053 Der Dienst antwortete nicht rechtzeitig auf die Start- oder Steuerungsanforderung.

So jetzt seid Ihr gefragt, wo liegt das Problem??

Danke Baeuerle
  Mit Zitat antworten Zitat
Hudel1965

Registriert seit: 4. Nov 2005
Ort: Köln
32 Beiträge
 
Delphi XE3 Professional
 
#2

Re: Prog das Anwendungen als Dienst startet

  Alt 30. Mär 2006, 12:27
Hallo,

eine normaler Dienst hat Einsprünge für Start, Stop, Pause und Fortsetzen.

Dies fehlt einem normalen Program, daher kann der Win-Dienst Manager auch nicht den Dienst starten. Es gibt aber Utilities die aus einem beliebigen Programm einen Dienst machen.

Diese werden wohl diese Einsprünge nachbilden.

Gruß

Hudel
  Mit Zitat antworten Zitat
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Prog das Anwendungen als Dienst startet

  Alt 30. Mär 2006, 12:43
Hm,

und wie kann ich solche Einsprünge simulieren bzw nachbilden? Das scheint wohl die Frage zu sein.
  Mit Zitat antworten Zitat
Hudel1965

Registriert seit: 4. Nov 2005
Ort: Köln
32 Beiträge
 
Delphi XE3 Professional
 
#4

Re: Prog das Anwendungen als Dienst startet

  Alt 30. Mär 2006, 12:48
Such doch nach mal nach einem der Utilities, eventuell gibt es eins das im Quellcode vorliegt. Vielleicht kannst du dir dort abschauen wie es gemacht wird. Das Problem wird aber sein, daß die Utilities den EXE File verändern müssen um die Dienstfunktionalität nachzubilden und dies wirst du auch machen müssen.

Gruß

Hudel
  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 13:36 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