In Vista und Windows 7 und später wurde ein Sicherheitsmechanismus namens UAC (User Account Control) hinzugefügt, und wenn UAC aktiviert ist, können die Benutzer, selbst wenn sich der Benutzer mit Administratorrechten anmeldet, seine Anwendungen nicht in das Systemverzeichnis, die Systemregistrierung und andere Einstellungen schreiben, die standardmäßig den normalen Betrieb des Systems beeinflussen könnten. Dieser Mechanismus erhöht die Sicherheit des Systems erheblich, aber für Anwendungsentwickler können wir die Nutzer nicht zwingen, UAC auszuschalten, aber manchmal muss die von uns entwickelte Anwendung im Weg eines Administrators laufen – wie erreicht man eine solche Funktion? So implementiert ein C#-Programm die Aufforderung, den Benutzer mit Administratorrechten auszuführen. In diesem Beispiel zeigt das WinForm-Programm, dass ein neues Projekt generiert und entsprechend angepasst wird: Methode 1: Start über System.Diagnostics.Process.Start(): Implementierungsmethode: Die standardmäßig generierte Programmdatei modifizieren, und der modifizierte Code ist wie folgt: Da der Code bereits kommentiert wurde, wird er nicht ins Detail gehen; Effekt: Da es durch das Aufrufen des externen Aufrufs von System.Diagnostics.Process.Start() gestartet wird, wird VS beim direkten Durchlaufen von VS nicht aufgefordert werden, Administratorrechte zu benötigen, sondern nur das Programm selbst benötigt Administratorrechte, was sich von dem Programm unterscheidet, das die Anwendung generiert. Dies ist der Hauptunterschied zur Umsetzung der Methode 2. Methode 2: Durch Hinzufügen einer Anwendungsmanifestdatei: Unter Projekt Neues Element hinzufügen wählen Sie Application Manifest File und klicken Sie auf die Schaltfläche Hinzufügen Nach dem Hinzufügen wird die app.manifest-Datei standardmäßig geöffnet, was folgt: Modifiziert zu: Dann öffnen Sie die Projekteigenschaften und ändern Sie das Manifest in den Ressourcen im Reiter Applications auf das neue app.manifest. Baue das Projekt neu auf, und wenn du das Programm erneut öffnest, wirst du aufgefordert, mit Administratorrechten auszuführen. Beachten Sie, dass Sie, wenn Sie in VS mit dem Debuggen beginnen, darauf hinweisen, dass diese Aufgabe erhöhte Rechte für die Anwendung erfordert. Wie unten gezeigt: Wähle Neustart mit anderen Zugangsdaten, um dies zu tun. Methode 3: Ändern Sie die Eigenschaften der Programmdatei direkt Rechtsklicke auf die Programmdatei im Reiter Kompatibilität im Dialogfeld Eigenschaften, der erscheint. Haken Sie bei "Ausführen Sie dieses Programm als Administrator".
|