Hallo allerseits,
ich möchte mir einen Windows-Dienst erstellen, der beim Starten eine Applikation ausführt. Das habe ich mit ShellExecute gemacht.
(Dazu habe ich auch eine Frage, dazu später mehr). Nun möchte ich aber, dass der Dienst nur von einem Administrator installiert werden kann, jedoch von "normalen Benutzern" gestartet werden kann.
Folgende Fragen habe ich dazu:
I: Was übergibt man in der shellExecute als
Handle? Ich habe viele Beispiele gefunden, wo einfach nur
HANDLE übergeben wird, jedoch ist bei mir (bei einem Service) diese Variable nicht definiert. Von daher habe ich 0 genommen. Ist das in Ordnung?
II: Sind die Ereignisse beforeInstall und onStart die passenden Ereignisse, um die Berechtigungen zu überprüfen und ggf. den Installationsvorgang bzw. den Start zu verhindern?
III: Wie bekomme ich heraus, ob ein Benutzer Administrator ist bzw ob der normaler, angemeldeter Benutzer ist? Ist die Methode Windows.GetUserObjectSecurity() hier hilfreich?
Da ich auf dem Gebiet Windows und Dienste nicht sehr bewandert bin, möge man mir meine wahrscheinlich dummen Fragen verzeihen. Eine Suche im Forum und bei Google hat da leider auch nicht viel dran geändert.