Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 36267|Odgovoriti: 3

[WinForm] C# programi tečejo z administratorskimi pravicami

[Kopiraj povezavo]
Objavljeno na 9. 10. 2016 09:14:38 | | | |
V Visti in Windows 7 ter novejših je bil dodan varnostni mehanizem, imenovan UAC (User Account Control), in če je UAC vklopljen, tudi če se uporabnik prijavi s skrbniškimi pravicami, njegove aplikacije ne morejo pisati v sistemski imenik, sistemski register in druge nastavitve, ki lahko privzeto vplivajo na normalno delovanje sistema. Ta mehanizem močno poveča varnost sistema, vendar za razvijalce aplikacij ne moremo prisiliti uporabnikov, da izklopijo UAC, včasih pa mora aplikacija, ki jo razvijamo, delovati kot administrator – kako doseči takšno funkcijo?
Tako C# program implementira poziv uporabniku, naj zažene z administratorskimi pravicami.
V tem primeru program WinForm pokaže, da se generira nov projekt in temu ustrezno prilagodi:
Metoda 1: Začni preko System.Diagnostics.Process.Start():
Metoda implementacije: Privzeto spremenite programsko datoteko, spremenjena koda pa je naslednja:
Ker je bila koda že komentirana, ne bo šla v podrobnosti;
Učinek: Ker se sproži z zunanjim klicem System.Diagnostics.Process.Start(), ko teče neposredno skozi VS, ne bo pozval VS, naj potrebuje administratorske pravice, ampak le program sam potrebuje administratorske pravice, kar se razlikuje od programa, ki generira aplikacijo. To je glavna razlika v primerjavi z implementacijo metode 2.
Metoda 2: Z dodajanjem datoteke manifesta prijave:
Pri Dodajanju novega elementa projekta izberite Datoteko manifesta aplikacije in kliknite gumb Dodaj
Ko je datoteka app.manifest dodana, se privzeto odpre, kar bo:
Spremenjeno v:
Nato odprite lastnosti projekta in spremenite manifest v zavihku Resources v zavihku Aplikacije v novi app.manifest.
Ponovno zgradite projekt in ko program ponovno odprete, boste pozvani, da zaženete z administratorskimi pravicami.
Upoštevajte, da če začnete z odpravljanjem napak v VS, boste pozvani, da ta naloga zahteva, da ima aplikacija povišane privilegije. Kot je prikazano spodaj:
Za to izberite Ponovno zaženi z drugimi poverilnicami.
Metoda 3: Neposredno spremenite lastnosti programske datoteke
Desni klik na datoteko programa v zavihku Združljivost v pogovornem oknu Lastnosti, ki se odpre
Preverite "Zaženi ta program kot skrbnik".







Prejšnji:{"Element '_id' ne ustreza nobenemu polju ali lastnosti razreda."}
Naslednji:.NET/C# 4 načini za implementacijo MongoDB poizvedb in zamegljenih poizvedb [z izvorno kodo]
 Najemodajalec| Objavljeno na 9. 10. 2016 09:15:27 |
Ugotovite, ali program teče kot administrator
Dodati je treba imenske prostore:
uporablja System.Security.Principal;


 Najemodajalec| Objavljeno na 26. 01. 2021 09:59:52 |
C# določa, ali program teče kot administrator
https://www.itsvse.com/thread-3004-1-1.html
 Najemodajalec| Objavljeno na 13. 10. 2025 09:18:33 |
.NET Core aplikacije delujejo kot administratorji na Windows sistemih, koda je naslednja:


Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com