Einzelnen Beitrag anzeigen

s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#11

Re: wie installierten Dienst starten?

  Alt 19. Okt 2004, 17:34
Hallo, es ist schon möglich den Dienst direkt nach der Installation automatisch zu starten.

Die Unit WinSVC einbinden und im "AfterInstall" Ereignis des Dienstes ungefähr folgendes schreiben:
Der Dienst wird dann über den ServiceControlManager gestartet.


Delphi-Quellcode:
var
  SCMHandle: Cardinal;
  tmpServiceHandle: Cardinal;
  fServiceStatus: TServiceStatus;
  P : pchar;
begin
  p := '';
  try
    SCMHandle := OpenSCManager( NIL, Nil, SC_MANAGER_ALL_ACCESS);
    if SCMHandle > 0 then
    begin
      tmpServiceHandle := OpenService(SCMHandle, PChar('NameDesDienstes'), SERVICE_ALL_ACCESS);
      if tmpServiceHandle > 0 then
      begin
        if StartService(tmpServiceHandle, 0, p) then
        begin
          // Dienst erfolgreich gestartet
        end;
      end;
      CloseServiceHandle(tmpserviceHandle);
      CloseServiceHandle(SCMHandle);
    end;
  except

  end;
end;
Gruß
s14
  Mit Zitat antworten Zitat