okay, okay. 1:0 für Dich, verdammt gute Argumente
. Aber ich hab einen Vorschlag, es zu ändern:
Zitat von
Olli:
1. Punkt: was passiert, wenn einmal der Service-Schlüssel aaa und einmal zzz, beidemale mit dem gleichen ImagePath existieren? Hat ja niemand gesagt, daß man von einer EXE nur eine Instanz als Service laufen lassen kann.
Okay, aber für die reine Erkennung, ob es ein Dienst ist, tut es da ja auch. Dann kann ich halt nur nicht mit Sicherheit den Dienstnamen ermitteln. Dn könnte man ja in solchen Zweifelsfällen auf einen leeren String setzen bzw. als StringList beide Werte zurückgeben. Außerdem darf die Schleife dann bei einem Fund nicht automatisch abgebrochen werden.
Zitat von
Olli:
2. Punkt: ImagePath kann auch Parameter enthalten, nicht nur Pfade. Abgesehen davon kann es mal eine Umgebungsvariable und einmal schon "expandierte" Pfade enthalten.
Okay, das lässt sich aber auch noch machen. ExtractFileNameFromSystemPath habe ich selbst geschrieben um Pfad wie %systemdir% und ähnliche aufzulösen. Kann ich bei Gelegenheit gerne posten (hab ich grad nicht zur Hand).
Zitat von
Olli:
Das könnte man über die Module ermitteln. Bei einem normalen Programm ist das Modul 0 immer das Programm selber. Bei einem Dienst dürfte das doch dann nicht der Fall sein. Siehe auch hier
Link am Ende des ersten Posts
Zitat von
Olli:
Was meinst du damit?
Zitat von
Olli:
Der Prozeßbaum (Suche nach "svchost") wäre noch eine Alternative, aber auch nicht 100% sicher
Und das sagt mir auch nicht viel....