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