Hallo Delphifreunde!
Zur Ermittlung der Rechte, die ein Programm (nicht das angemeldete Konto!) hat, benutze ich die bekannte Funktion IsAdmin, von der recht ähnliche Versionen an verschiedenen Stellen des Netzes zu finden sind. Diese funktioniert bis Windows XP gut, stößt jedoch bei der
UAC, die ab Windows Vista existiert, an ihre Grenzen: Auch wenn ein Programm nicht (explizit) mit Administratorrechten gestartet wird, so wird, sofern das angemeldete Konto ein Administrationskonto ist, das Ergebnis "true" zurückgeliefert, hier werden also offensichtlich die Rechte des Kontos und nicht die des eigenen Programmes ermittelt. Jedoch muß man bei aktiv(iert)er
UAC ja explizit ein Programm mit Administrationsrechten starten, damit es dieses auch erhält.
Deshalb meine Fragen:
1. Weiß jemand, ob es eine andere Möglichkeit oder eine Weiterentwicklung der Funktion IsAdmin gibt, mit der man auch unter der
UAC die Rechte eines Programmes genau ermitteln kann?
2. Nur interessehalber: Wenn man das Programm nicht explizt als Administrator startet, welche (eingeschränkten) Rechte hat es dann: Benutzer, Hauptbenutzer, Gast oder welche sonst? Hängt vermutlich auch davon ab, mit welchen Kontotyp man angemeldet ist, also wohl nicht mit mehr Rechten, als das Konto hat.
Besten Dank im voraus und Gruß
Delphi-Laie