2009-05-11 8 views
4

Ich habe festgestellt, einige Anwendungen (wie Dampf) sind in der Lage zu starten/stoppen Dienste als normaler Benutzer ohne Aufruf der UAC-Steuerelement. Weiß jemand, wie man es macht?starten service ohne aufruf uac

OS: Vista/Win 7 Visual Studio 2005 C++

.

Edit: Ich spielte letzte Nacht mit dem Dampfservice herum und versuchte herauszufinden, wie es anders ist. Wenn ich meinen Dienst exe stelle, wo der Dampf man ist, startete es es gut mit uac (mit sc.exe), aber wenn ich die Dampf-exe wo meins ist, hat es nicht funktioniert. Als ich mich in der Registry nach den Service-Informationen umsah, fand ich heraus, dass der Dampf einen zusätzlichen Berechtigungsteil hatte. Was bedeutet das und wie setzt man es?

.

Edit 2: Sie müssen die Benutzer Zugriffsrechte des Dienstes ändern: http://msdn.microsoft.com/en-us/library/ms684215(VS.85).aspx

Antwort

6

Die Fähigkeit zu starten (oder zu stoppen) ein Dienst wird von der ACL auf den Dienst gesteuert. Wenn Sie interaktiven Benutzern das Recht geben, Ihren Dienst zu starten, können sie Ihren Dienst starten.

Es ist alles wie Sie Ihren Service einrichten, wenn Sie es installiert haben.

Offensichtlich müssen Sie die Windows-Dienst-APIs (OpenSCManager/OpenService/StartService) verwenden, um den Dienst zu starten.

+0

Vielen Dank, werde ich das untersuchen. – Lodle

+0

Versucht es letzte Nacht und es funktioniert nicht :( – Lodle

+0

Was ist die ACL auf Ihrem Dienst dann? sc sdshow