und wie immer ist es so simpel
Im nachvolgenden code wird nach dem startparameter "/n" gesucht, sollte dieser vorhanden sein (beim start mit angegeben) soll als normale exe gestartet werden, wenn nicht soll als service gestartet werden.
Code:
program exeservice;
uses
SvcMgr, forms, sysutils,
Unit1 in 'Unit1.pas' {Service1: TService};
{$R *.RES}
begin
SvcMgr.Application.Initialize;
SvcMgr.Application.CreateForm(TService1, Service1);
if FindCmdLineSwitch('n', ['-', '/'], True) then
forms.Application.Run;
else
SvcMgr.Application.Run;
end.
Es sollte nun ein kinderspiel sein am angang zu überprüfen, ob die exe selbst als dienst instaliert ist, wenn ja dann soll auch als solcher gestartet werden, wenn nicht startet die exe als Anwendung.
Noch fragen?