Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 36267|Svar: 3

[WinForm] C#-program körs med administratörsrättigheter

[Kopiera länk]
Publicerad på 2016-10-09 09:14:38 | | | |
I Vista och Windows 7 och senare har en säkerhetsmekanism kallad UAC (User Account Control) lagts till, och om UAC är aktiverad, även om användaren loggar in med administratörsbehörighet, kan deras applikationer inte skriva till systemkatalogen, systemregistret och andra inställningar som kan påverka systemets normala funktion som standard. Denna mekanism förbättrar systemets säkerhet avsevärt, men för applikationsutvecklare kan vi inte tvinga användare att stänga av UAC, men ibland måste applikationen vi utvecklar köras som administratör, hur ska man uppnå en sådan funktion?
Så här implementerar ett C#-program att uppmana användaren att köra med administratörsbehörigheter.
I detta exempel visar WinForm-programmet att ett nytt projekt genereras och modifieras därefter:
Metod 1: Starta via System.Diagnostics.Process.Start():
Implementeringsmetod: Modifiera programfilen som genereras som standard, och den modifierade koden är följande:
Eftersom koden redan har kommenterats kommer den inte att gå in på detaljer;
Effekt: Eftersom det startas genom att anropa det externa anropet System.Diagnostics.Process.Start(), kommer det inte att be VS att kräva administratörsrättigheter när det körs direkt via VS, endast programmet självt behöver administratörsrättigheter, vilket skiljer sig från programmet som genererar applikationen. Detta är den största skillnaden från implementeringen av metod 2.
Metod 2: Genom att lägga till en applikationsmanifestfil:
På Project Add New Item, välj Application Manifest File och klicka på knappen Lägg till
När filen har lagts till öppnas app.manifest-filen som standard, vilket kommer:
Modifierad till:
Öppna sedan Projektegenskaper och ändra manifestet i Resources i fliken Applications till den nya app.manifest.
Bygg om projektet, och när du öppnar programmet igen kommer du att bli ombedd att köra med administratörsbehörighet.
Observera att om du börjar felsöka i VS kommer du att få veta att denna uppgift kräver att applikationen har förhöjda behörigheter. Som visas nedan:
Välj Starta om med andra inloggningsuppgifter för att göra det.
Metod 3: Modifiera programfilens egenskaper direkt
Högerklicka på programfilen under fliken Kompatibilitet i dialogrutan Egenskaper som dyker upp
Kryssa i "Kör detta program som administratör".







Föregående:{"Element '_id' matchar inte någon kropp eller egenskap av klass."}
Nästa:.NET/C# 4 sätt att implementera MongoDB-frågor och fuzzy-frågor [med källkod]
 Hyresvärd| Publicerad på 2016-10-09 09:15:27 |
Avgör om programmet körs som administratör
Namnrymder behöver läggas til:
använda System.Security.Principal;


 Hyresvärd| Publicerad på 2021-01-26 09:59:52 |
C# avgör om ett program körs som administratör
https://www.itsvse.com/thread-3004-1-1.html
 Hyresvärd| Publicerad på 2025-10-13 09:18:33 |
.NET Core-appar körs som administratörer på Windows-system, koden är följande:


Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com