![]() |
Rechte eines Benutzers ermitteln
Hallo,
ich möchte mit meinem Programm in den Local_Machine Teil der Registry und in den "All Users\Anwendungsdaten"-Ordner schreiben [1]. Bevor ich das tue, möchte ich jedoch ermitteln, ob der Benutzer, der mein Programm ausführt überhaupt die nötigen Rechte dazu hat (also Administrator ist). Ich hab aber keine Idee, wie man das abfragen könnte :( Hab mich im Namespace
Code:
versucht ein wenig zu orientieren, bin auf
System.Security
Code:
als enum-Definition gestoßen, habe aber kein Objekt oder Klasse gefunden, von der ich diesen Wert beziehen könnte, sodass ich über die Rechte Bescheid wüsste. :?
System.Security.Permissions.RegistryPermissionAccess.AllAccess
Ich hab auch schon in der Hilfe gesucht, aber nix brauchbares gefunden. Bin für jede Hilfe dankbar! Schonmal Danke im voraus JayK [1] Bevor einer meckert, das gehöre sich nicht: es muss unbedingt sein ;) |
Re: Rechte eines Benutzers ermitteln
Wenn RegOpenKey(Ex) fehlschlägt, heisst das, dass der Benutzer nicht die benötigten Rechte hat. Das braucht man nicht extra abzuprüfehn. Wenn der Benutzer die benötigten Rechte nicht hat, kannst du automatisch auch nicht dort reinschreiben.
|
Re: Rechte eines Benutzers ermitteln
Ich möchte ja, das mein Prog das beim Start ermittelt, und dann eine MessageBox mit einem Hinweis erscheint, damit der User sich nicht wundert.
|
Re: Rechte eines Benutzers ermitteln
Ich weiß ja nicht, was passiert, wenn RegOpenKey fehlschlägt. Aber wenn eine Exception ausgelöst wird, kann man es per try..catch abfangen. ;)
|
Re: Rechte eines Benutzers ermitteln
Zitat:
Code:
Den Rest findest du, denke ich, im SDK. ;)
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
WindowsPrincipal wp = (Thread.CurrentPrincipal as WindowsPrincipal); if(!wp.IsInRole(WindowsBuiltInRole.Administrator) && !wp.IsInRole(WindowsBuiltInRole.PowerUser)) { // Fehler } |
Re: Rechte eines Benutzers ermitteln
Klasse, genau sowas hab ich gesucht :-D Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz