Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 36267|Svare: 3

[WinForm] C#-programmer kjøres med administratorrettigheter

[Kopier lenke]
Publisert på 09.10.2016 09:14:38 | | | |
I Vista og Windows 7 og senere er en sikkerhetsmekanisme kalt UAC (User Account Control) lagt til, og hvis UAC er aktivert, selv om brukeren logger inn med administratorrettigheter, kan ikke applikasjonene deres skrive til systemkatalogen, systemregisteret og andre innstillinger som som standard kan påvirke systemets normale drift. Denne mekanismen øker systemets sikkerhet betydelig, men for applikasjonsutviklere kan vi ikke tvinge brukere til å slå av UAC, men noen ganger må applikasjonen vi utvikler kjøre som administrator, hvordan kan man oppnå en slik funksjon?
Slik implementerer et C#-program å be brukeren kjøre med administratorrettigheter.
I dette eksempelet demonstrerer WinForm-programmet at et nytt prosjekt genereres og endres deretter:
Metode 1: Start via System.Diagnostics.Process.Start():
Implementeringsmetode: Endre programfilen som genereres som standard, og den modifiserte koden er som følger:
Siden koden allerede er kommentert, vil den ikke gå i detaljer;
Effekt: Siden det startes ved å kalle det eksterne kallet System.Diagnostics.Process.Start(), vil det ikke be VS om å kreve administratorrettigheter når det kjøres direkte gjennom VS, kun programmet selv trenger administratorrettigheter, noe som er forskjellig fra programmet som genererer applikasjonen. Dette er hovedforskjellen fra implementeringen av metode 2.
Metode 2: Ved å legge til en applikasjonsmanifestfil:
På Prosjekt Legg til nytt element, velg Application Manifest File og klikk på Legg-til-knappen
Når filen er lagt til, åpnes app.manifest-filen som standard, noe som vil:
Modifisert til:
Åpne deretter Prosjektegenskaper og endre manifestet i Ressurser i fanen Applikasjoner til den nye app.manifest.
Bygg opp prosjektet på nytt, og når du åpner programmet igjen, vil du bli bedt om å kjøre med administratorrettigheter.
Merk at hvis du begynner å feilsøke i VS, vil du bli bedt om at denne oppgaven krever at applikasjonen har økte rettigheter. Som vist nedenfor:
Velg Restart med andre legitimasjoner for å gjøre det.
Metode 3: Endre egenskapene til programfilen direkte
Høyreklikk på programfilen i fanen Kompatibilitet i Egenskaper-dialogboksen som dukker opp
Kryss av for «Kjør dette programmet som administrator».







Foregående:{"Element '_id' samsvarer ikke med noe felt eller egenskap ved klasse."}
Neste:.NET/C# 4 måter å implementere MongoDB-spørringer og fuzzy-spørringer [med kildekode]
 Vert| Publisert på 09.10.2016 09:15:27 |
Finn ut om programmet kjører som administrator
Navnerom må legges til:
ved bruk av System.Security.Principal;


 Vert| Publisert på 26.01.2021 09:59:52 |
C# avgjør om et program kjører som administrator
https://www.itsvse.com/thread-3004-1-1.html
 Vert| Publisert på 13.10.2025 09:18:33 |
.NET Core-apper kjører som administratorer på Windows-systemer, koden er som følger:


Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com