Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 36267|Atsakyti: 3

[WinForm] C# programos veikia su administratoriaus teisėmis

[Kopijuoti nuorodą]
Paskelbta 2016-10-09 09:14:38 | | | |
"Vista" ir "Windows 7" bei naujesnėse versijose buvo pridėtas saugos mechanizmas, vadinamas UAC (vartotojo abonemento valdymas), o jei UAC įjungtas, net jei vartotojas prisijungia su administratoriaus teisėmis, jų programos negali rašyti į sistemos katalogą, sistemos registrą ir kitus nustatymus, kurie pagal numatytuosius nustatymus gali turėti įtakos normaliam sistemos veikimui. Šis mechanizmas labai padidina sistemos saugumą, tačiau programų kūrėjams negalime priversti vartotojų išjungti UAC, tačiau kartais mūsų kuriama programa turi veikti administratoriaus būdu, kaip pasiekti tokią funkciją?
Štai kaip C# programa įgyvendina, ragindama vartotoją paleisti su administratoriaus teisėmis.
Šiame pavyzdyje WinForm programa parodo, kad atitinkamai sugeneruojamas ir modifikuojamas naujas projektas:
1 būdas: paleiskite naudodami System.Diagnostics.Process.Start():
Įgyvendinimo būdas: Pakeiskite programos failą, sugeneruotą pagal numatytuosius nustatymus, o modifikuotas kodas yra toks:
Kadangi kodeksas jau buvo pakomentuotas, jis nebus detalizuotas;
Poveikis: Kadangi jis paleidžiamas iškviečiant išorinį System.Diagnostics.Process.Start() iškvietimą, kai paleidžiama tiesiogiai per VS, jis neragins VS reikalauti administratoriaus teisių, tik pačiai programai reikia administratoriaus teisių, kurios skiriasi nuo programos, kuri generuoja programą. Tai yra pagrindinis skirtumas nuo 2 metodo įgyvendinimo.
2 būdas: pridedant programos deklaracijos failą:
Projekto įtraukimo į naują elementą pasirinkite Programos deklaracijos failas ir spustelėkite mygtuką Pridėti
Pridėjus, pagal numatytuosius nustatymus atidaromas app.manifest failas, kuris:
Pakeista į:
Tada atidarykite projekto ypatybes ir pakeiskite deklaraciją skirtuko Programos ištekliai į naują app.manifest.
Iš naujo sukurkite projektą ir, kai vėl atidarysite programą, būsite paraginti paleisti su administratoriaus teisėmis.
Atminkite, kad jei pradėsite derinti VS, būsite paraginti, kad ši užduotis reikalauja, kad programa turėtų didesnes teises. Kaip parodyta žemiau:
Pasirinkite Paleisti iš naujo naudojant kitus kredencialus, kad tai padarytumėte.
3 būdas: tiesiogiai pakeiskite programos failo ypatybes
Dešiniuoju pelės mygtuku spustelėkite programos failą skirtuke Suderinamumas pasirodžiusiame dialogo lange Ypatybės
Pažymėkite "Vykdyti šią programą kaip administratorių".







Ankstesnis:{"Elementas '_id' neatitinka jokio klasės lauko ar ypatybės."}
Kitą:.NET/C# 4 būdai, kaip įdiegti MongoDB užklausas ir neaiškias užklausas [su šaltinio kodu]
 Savininkas| Paskelbta 2016-10-09 09:15:27 |
Nustatykite, ar programa veikia kaip administratorius
Vardų sritys turi būti pridėtos:
naudojant System.Security.Principal;


 Savininkas| Paskelbta 2021-01-26 09:59:52 |
C# nustato, ar programa veikia kaip administratorius
https://www.itsvse.com/thread-3004-1-1.html
 Savininkas| Paskelbta 2025-10-13 09:18:33 |
.NET Core programos veikia kaip administratoriai "Windows" sistemose, kodas yra toks:


Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com