AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Service mit Parameter straten

Ein Thema von ManuelR · begonnen am 24. Feb 2008 · letzter Beitrag vom 26. Feb 2008
Antwort Antwort
Seite 1 von 2  1 2   
ManuelR

Registriert seit: 14. Dez 2005
Ort: Backnang
57 Beiträge
 
Delphi 2010 Professional
 
#1

Service mit Parameter straten

  Alt 24. Feb 2008, 22:18
Hallo,
kennt jemand eine Möglichkeit einen Service mit einem Parameter zu starten ?

Danke
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Service mit Parameter straten

  Alt 24. Feb 2008, 22:23
Einen Service kannst du nicht mit Parametern starten. Du kannst die Parameter aber als Datei oder in der Registry ablegen, und der Service liest diese dann beim Start aus.
  Mit Zitat antworten Zitat
ManuelR

Registriert seit: 14. Dez 2005
Ort: Backnang
57 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Service mit Parameter straten

  Alt 25. Feb 2008, 08:56
Hallo,

im Dienste Panel unter Systemsteuerung/Verwaltung hat man die Möglichkeit unter
Eigenschaften einen Startparameter einzugeben.
Ich weiss nur nicht wie man im Code an den Parameter kommt.

Hat vielleicht jemand eine Idee ?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Service mit Parameter straten

  Alt 25. Feb 2008, 10:20
Vielleicht mit ParamStr(1..x)?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Service mit Parameter straten

  Alt 25. Feb 2008, 10:36
Zitat von Union:
Vielleicht mit ParamStr(1..x)?
Nein, funktioniert im Service nicht, aber in einem Service geht folgendes:
Delphi-Quellcode:
for I := 0 to ParamCount do
  DoWhatEverWith(Param[I]);
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Service mit Parameter straten

  Alt 25. Feb 2008, 10:43
Zitat von Jelly:
Einen Service kannst du nicht mit Parametern starten. Du kannst die Parameter aber als Datei oder in der Registry ablegen, und der Service liest diese dann beim Start aus.
Nur weil man es nicht kennt, ... - sorry, konnte ich mir gerade nicht verkneifen

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
ManuelR

Registriert seit: 14. Dez 2005
Ort: Backnang
57 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Service mit Parameter straten

  Alt 25. Feb 2008, 10:59
Hi Sakura,

Du meinst die Param Eigenschaft von TService. Ok. Das funktioniert.
Die Frage ist jetzt noch wie man den Parameter reinbekommt.

Die Eingabe im Dienste Panel unter Systemsteuerung/Verwaltung ist leider
nicht persistent (?). D.h. beim nächsten Starten ist der Parameter wieder weg.


Danke
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Service mit Parameter straten

  Alt 25. Feb 2008, 11:12
Du kannst mit MSDN-Library durchsuchenChangeServiceConfig direkt nach dem Installieren des Service den Pfad ändern um einen Parmeter einzufügen:
Delphi-Quellcode:
procedure TsrvTest.ServiceAfterInstall(Sender: TService);
var
   ScmH : SC_HANDLE;
   SvcH : CARDINAL;
   NewPath : string;
begin
   ScmH := OpenSCManager(nil, SERVICES_ACTIVE_DATABASE, SC_MANAGER_CONNECT or GENERIC_READ);
   if ScmH <> 0 then
   begin
      SvcH := OpenService(ScmH, pchar(Sender.Name), SERVICE_CHANGE_CONFIG);
      if SvcH <> 0 then
      begin
         NewPath := ParamStr(0)+' /Mein Parameter';
         ChangeServiceConfig(SvcH,
            SERVICE_NO_CHANGE,
            SERVICE_NO_CHANGE,
            SERVICE_NO_CHANGE,
            pchar(NewPath),
            nil,
            nil,
            nil,
            nil,
            nil,
            nil);
         CloseServiceHandle(SvcH);
      end;
      CloseServiceHandle(ScmH);
   end;
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Service mit Parameter straten

  Alt 25. Feb 2008, 14:19
Zitat von sakura:
Nur weil man es nicht kennt, ... - sorry, konnte ich mir gerade nicht verkneifen
Hast ja Recht... Ist mir ehrlich gesagt neu, dass man einen Service so konfigurieren kann... Wieder was gelernt
  Mit Zitat antworten Zitat
ManuelR

Registriert seit: 14. Dez 2005
Ort: Backnang
57 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Service mit Parameter straten

  Alt 25. Feb 2008, 17:30
Hi Union,

danke für den Code.
Leider funktioniert's bei mir nicht.

Wenn ich den Parameter über das das Dienst Panel manuell eingebe,
dann kann ich den Parameter über das Service-Objekt auslesen:

Delphi-Quellcode:
 
s := BCService_Ctrl.param[0] // hier bekomme ich den kompletten Pfad inkl. exe
s := BCService_Ctrl.param[1]; // und hier den Parameter

Nach dem Aufruf deines Codes

Delphi-Quellcode:
 
s := BCService_Ctrl.param[0] // hier bekomme jetzt den Namen des Service-Objekts
s := BCService_Ctrl.param[1]; // Listenindex überschreitet das Maximum
Wie greiftst Du auf den Parameter vom Code aus zu ?

Danke
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:10 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