Hallo,
Zitat von
n0b0dy:
Also dem Dienst wird ein User und Passwort zugespielt, und dieser sollte Stoppen, und dann wieder unter dem Anderen Benutzer starten (weil ohne Unterbrechung wird das ja kaum gehen).
nicht dein Dienst erledigt das, sondern der Service Control Manager. Wenn du schon einen Dienst implementiert hast, dann kennst du die
API Calls, die du brauchst um dir ein
Handle zu besorgen und den Dienst zu starten und zu stoppen. Zusäzlich musst du dir ChangeServiceConfig() ansehen. Diesem call kannst du den Namen des Kontos und ein Password übergeben, welches der SCM in seine Datenbank einträgt. Wenn du nur vorübergehend umschalten willst, dann wird es haarig, da du mit QueryServiceConfig() nur den account name ermitteln kannst. Grundsätzlich kann ich mir kaum einen Grund vorstellen, warum du überhaupt den account name wechseln müsstest. Im Prinzip gibt man dem Dienst einen der üblichen system accounts und gut ist.
Grüße vom marabu