Entwickler-Ecke

Windows API - Problem mit Serviceanwendung


FriFra - Di 12.11.02 10:52
Titel: Problem mit Serviceanwendung
Meine Serviceanwendung soll sich selbst beenden, was im Grunde ja auch funktioniert. Nur unter Windows XP behällt der Service den Status "wird beendet", was sich erst nach einem Neustart ändert. Unter NT4 und 2000 funktioniert es.


hitstec - Mi 13.11.02 00:52

Wie beendest du denn den Service?


FriFra - Mi 13.11.02 01:36


Quelltext
1:
Service1.DoStop;                    

Der Service (exe) selbst wird auch korrekt beendet, nur der Status bleibt unter Win XP auf "wird beendet" (unter NT, 2000 funzt es) - dadurch ist ein neustart erst nach einem Reboot möglich.


hitstec - Mi 13.11.02 01:56

Also ich benutze die Funktion ControlService mit dem Parameter SERVICE_CONTROL_STOP, um einn externen Service zu beenden. Bei WinXP klappt das wunderbar.
Nur ich weiß nicht, ob das auch auf die eigene Anwendung anwendbar ist. Probiers halt mal.


FriFra - Mi 13.11.02 10:15

ControlService scheint nicht zu funktionieren, wenn sich der Service selbst abschiessen soll... ich habe mein Beenden jetzt einfach etwas erweitert:

Quelltext
1:
2:
    Service1.DoStop;
    Halt;

Jetzt wird der service auch unter XP richtig beendet