Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 36267|Svar: 3

[WinForm] C#-programmer kører med administratorrettigheder

[Kopier link]
Opslået på 09/10/2016 09.14.38 | | | |
I Vista og Windows 7 og senere er en sikkerhedsmekanisme kaldet UAC (User Account Control) tilføjet, og hvis UAC er slået til, kan brugeren selv med administratorrettigheder ikke skrive til systemmappen, systemregistret og andre indstillinger, der som standard kan påvirke systemets normale drift. Denne mekanisme forbedrer systemets sikkerhed betydeligt, men for applikationsudviklere kan vi ikke tvinge brugere til at slå UAC fra, men nogle gange skal applikationen, vi udvikler, køre på administratorens måde – hvordan opnår man sådan en funktion?
Her er, hvordan et C#-program implementerer at bede brugeren om at køre med administratorrettigheder.
I dette eksempel demonstrerer WinForm-programmet, at et nyt projekt genereres og ændres derefter:
Metode 1: Start via System.Diagnostics.Process.Start():
Implementeringsmetode: Modificerer programfilen, der genereres som standard, og den ændrede kode er som følger:
Da koden allerede er blevet kommenteret, vil den ikke gå i detaljer;
Effekt: Da det startes ved at kalde det eksterne kald System.Diagnostics.Process.Start(), vil det ikke bede VS om at kræve administratorrettigheder, når det kører direkte gennem VS, kun programmet selv har administratorrettigheder, hvilket adskiller sig fra det program, der genererer applikationen. Dette er hovedforskellen fra implementeringen af metode 2.
Metode 2: Ved at tilføje en applikationsmanifestfil:
På projektet Tilføj nyt element vælger du Application Manifest File og klikker på Tilføj knappen
Når filen er tilføjet, åbnes appen som standard, hvilket vil:
Modificeret til:
Åbn derefter Projektegenskaber og ændr manifestet i Ressourcer i fanen Applikationer til den nye app.manifest.
Genopbyg projektet, og når du åbner programmet igen, vil du blive bedt om at køre med administratorrettigheder.
Bemærk, at hvis du begynder at fejlfinde i VS, vil du blive bedt om, at denne opgave kræver, at applikationen har forhøjede rettigheder. Som vist nedenfor:
Vælg Genstart med andre legitimationsoplysninger for at gøre det.
Metode 3: Ændr programfilens egenskaber direkte
Højreklik på programfilen i fanen Kompatibilitet i dialogboksen Egenskaber, som dukker op
Tjek "Kør dette program som administrator".







Tidligere:{"Elementet '_id' matcher ikke noget felt eller egenskab ved klasse."}
Næste:.NET/C# 4 måder at implementere MongoDB-forespørgsler og fuzzy-forespørgsler [med kildekode]
 Udlejer| Opslået på 09/10/2016 09.15.27 |
Bestem om programmet kører som administrator
Navnerum skal tilføjes:
ved brug af System.Security.Principal;


 Udlejer| Opslået på 26/01/2021 09.59.52 |
C# afgør, om et program kører som administrator
https://www.itsvse.com/thread-3004-1-1.html
 Udlejer| Opslået på 13/10/2025 09.18.33 |
.NET Core-apps kører som administratorer på Windows-systemer, koden er som følger:


Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com