Seit Windows Vista die Benutzerkontensteuerung (User Account Control) eingeführt hat, existieren für einen Benuter in Windows zwei Tokens. Ein Token, nämlich der eingeschränkte Token erhält die Berechtigungen eines Standardanwenders. Der andere administrative Token erhält mehr Rechte (üblicherweise administrative Berechtigungen). Im Standardfall werden Applikation mit dem eingeschränkten Token gestartet. Für Aktionen, die administrative Berechtigungen benötigen, kann sich die Applikation mit dem zweiten Token (mit administrativen Berechtigungen) erneut starten und diese ausführen. Um diese Aktion anzuprogrammieren, sollte man zunächst abfragen ob die Applikation mit dem administrativen Token (häufig auch elevated Token genannt). Nachfolgend will ich drei Standardaufgaben erläutern:
Hierzu einige Codeschnipsel ein C#:
1. Anzeige des Shield-Icons
}
2. Abfagen, ob die eigene Applikation elevated läuft (C++) bzw. in C# (wie gehabt) ob der Adminrechte hat
using System.Security; using
3. Die eigene (Windows Forms) Applikation elevated neu starten
using