Forum: Win32/Win64 API (native code)
Delphi
by FriFra,
12. Mär 2010
Da der Dienst auf dem Systemkonto läuft, läuft das von ihm gestartete Programm auch auf dem Systemkonto... da reicht die Berechtigung aus ;)
Forum: Win32/Win64 API (native code)
Delphi
by FriFra,
31. Jul 2009
Ich habs jetzt aufgegeben den Dienst dazu bewegen zu wollen, sich selber zu beenden... Jetzt sennde ich eben keine Message mehr, die den Dienst dazu bringt sich zu beenden, sondern rufe einfach folgenden Code auf: ShellExecute(0, 'open', 'net', 'stop EasyServer', '', 0);
Damit ist das Problem gelöst.
Forum: Win32/Win64 API (native code)
Delphi
by FriFra,
31. Jul 2009
Wenn sich der Service selbst beenden soll, wird bei mir OnShutdown NICHT aufgerufen... ich hab das gerad mal mit Messageboxen geprüft... wenn ich den Dienst über den Dienste-Manager beende, durchläuft der OnStop und Onshutdown und wird sauber beendet.
Es gibt definitiv keine nicht geschlossenen Objekte mehr, die das verursachen können... Ich steh auf dem Schlauch :gruebel:
P.S.: Ich habe...
Forum: Win32/Win64 API (native code)
Delphi
by FriFra,
30. Jul 2009
:roll: hat keiner eine Idee?
Forum: Win32/Win64 API (native code)
Delphi
by FriFra,
29. Jul 2009
Ja, da pipe ich noch eine message zu einem anderen Programm (das sich übrigens daraufhin korrekt beendet) und dann sollte eigentlich schluß sein... ist es aber nicht
procedure TEasyServer.ServiceStop(Sender: TService; var Stopped: Boolean);
var
PipeClient: TPipeClient;
begin
PipeClient := TPipeClient.Create('', 'easyServerPipe');
PipeClient.SendString('quit');
PipeClient.Free;
...
Forum: Win32/Win64 API (native code)
Delphi
by FriFra,
29. Jul 2009
Ich habe einen eigentlich recht simplen Dienst, welcher beim start über shellexecute ein anderes Programm aufruft. Wenn dieses andere Programm beendet wird, piped dieses eine Message zum Service, welcher sich daraufhin beenden soll. dazu verwende ich einen Timer, welcher eine Variable überwacht, die duch die Message verändert wird:
procedure TEasyServer.Timer1Timer(Sender: TObject);
begin
if...