Deaktivierten Service starten



  • Hallo,
    ich möchte den Service "Messenger" (Nachrichtendienst) starten. Dieser ist ab XP SP2 deaktiviert.
    Deshalb möchte ich den Startup Type von Deaktiviert auf Manuell stellen, sodass ich mit StartService() den Service jederzeit starten kann.

    Um also den Startup-Type zu ändern habe ich folgendes versucht:

    ChangeServiceConfig(hsvc, SERVICE_NO_CHANGE, SERVICE_DEMAND_START, SERVICE_NO_CHANGE, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
    

    (hsvc wurde mit OpenService und OpenSCManager erstellt und ist gültig!)
    Leider liefert mir die Funktion per GetLastError immer ERROR_ACCESS_DENIED.

    Dann habe ich eine andere Methode probiert: In der Registry unter HKLM\\SYSTEM\\CurrentControlSet\\Services\\Messenger den Eintrag "Start" von 4 (Disabled) auf 3 (Manuell) gestellt. Aber der Service lässt sich nun auch nicht per StartService() starten. ChangeServiceConfig gibt immer noch ERROR_ACCESS_DENIED zurück.

    Ich kann den Service übrigens ohne Probleme "per Hand" von deaktiviert auf manuell stellen.
    Was könnte man machen?

    MfG,
    Max


  • Mod

    Machst Du das unter Vista?
    Dann muss Dein Prozess elevated sein. Das heißt als Admin gestartet werden oder ein requireAdministrator Manifest haben.


Anmelden zum Antworten