Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 36267|Odpowiedź: 3

[WinForm] Programy C# uruchamiane z uprawnieniami administratora

[Skopiuj link]
Opublikowano 09.10.2016 09:14:38 | | | |
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".







Poprzedni:{"Element '_id' nie pasuje do żadnego ciała ani własności klasy."}
Następny:.NET/C# 4 sposoby implementacji zapytań MongoDB i zapytań rozmytych [z kodem źródłowym]
 Ziemianin| Opublikowano 09.10.2016 09:15:27 |
Określ, czy program działa jako administrator
Należy dodać przestrzenie nazw:
używając System.Security.Principal;


 Ziemianin| Opublikowano 26.01.2021 09:59:52 |
C# określa, czy program działa jako administrator
https://www.itsvse.com/thread-3004-1-1.html
 Ziemianin| Opublikowano 13.10.2025 09:18:33 |
Aplikacje .NET Core działają jako administratorzy na systemach Windows, kod jest następujący:


Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com