W systemach Vista, Windows 7 i nowszych dodano mechanizm bezpieczeństwa zwany UAC (User Account Control), a jeśli UAC jest włączone, nawet jeśli użytkownik zaloguje się z uprawnieniami administratora, jego aplikacje nie mogą zapisywać się do katalogu systemowego, rejestru systemowego i innych ustawień, które mogą domyślnie wpływać na normalne działanie systemu. Ten mechanizm znacznie zwiększa bezpieczeństwo systemu, ale dla twórców aplikacji nie możemy zmusić użytkowników do wyłączenia UAC, jednak czasem aplikacja, którą tworzymy, musi działać w sposób administratora – jak osiągnąć taką funkcję? Oto jak program C# implementuje prośbę użytkownika o uruchomienie z uprawnieniami administratora. W tym przykładzie program WinForm pokazuje, że nowy projekt jest generowany i odpowiednio modyfikowany: Metoda 1: Start za pomocą System.Diagnostics.Process.Start(): Metoda implementacji: Domyślnie modyfikuj plik programu, a zmodyfikowany kod wygląda następująco: Ponieważ kod został już skomentowany, nie będzie wchodził w szczegóły; Efekt: Ponieważ uruchamia się go przez wywołanie zewnętrznego wywołania System.Diagnostics.Process.Start(), uruchamiając bezpośrednio przez VS, nie będzie wymagał VS praw administratora, tylko sam program potrzebuje praw administratora, co różni się od programu generującego aplikację. To główna różnica w porównaniu z implementacją metody 2. Metoda 2: Dodając plik manifestu aplikacji: W programie Dodaj nowy element projektu wybierz Plik manifestu aplikacji i kliknij przycisk Dodaj Po dodaniu plik app.manifest jest domyślnie otwierany, co powoduje: Zmodyfikowane do: Następnie otwórz Właściwości Projektu i zmodyfikuj manifest w Resources w zakładce Aplikacje na nowy app.manifest. Odbuduj projekt, a gdy ponownie otworzysz program, zostaniesz poproszony o uruchomienie z uprawnieniami administratora. Zwróć uwagę, że jeśli zaczniesz debugować w VS, zostaniesz poinformowany, że to zadanie wymaga podwyższonych uprawnień. Jak pokazano poniżej: Wybierz Restartuj z innymi uprawnieniami, aby to zrobić. Metoda 3: Bezpośrednio zmodyfikuj właściwości pliku programu Kliknij prawym przyciskiem myszy na plik programu w zakładce Kompatybilność w oknie dialogowym Właściwości, które się pojawi Sprawdź "Uruchom ten program jako administrator".
|