Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 36267|Odpoveď: 3

[WinForm] C# programy bežia s administrátorskými oprávneniami

[Kopírovať odkaz]
Zverejnené 9. 10. 2016 9:14:38 | | | |
Vo Viste, Windows 7 a novších bol pridaný bezpečnostný mechanizmus nazývaný UAC (User Account Control), a ak je UAC zapnuté, aj keď sa používateľ prihlási s administrátorskými právami, jeho aplikácie nemôžu zapisovať do systémového adresára, systémového registra a ďalších nastavení, ktoré môžu štandardne ovplyvniť normálny chod systému. Tento mechanizmus výrazne zvyšuje bezpečnosť systému, ale pre vývojárov aplikácií nemôžeme nútiť používateľov vypnúť UAC, no niekedy musí aplikácia, ktorú vyvíjame, bežať ako administrátor – ako takúto funkciu dosiahnuť?
Takto program v C# implementuje výzvu používateľa, aby spustil s administrátorskými právami.
V tomto príklade program WinForm ukazuje, že nový projekt je generovaný a podľa toho upravený:
Metóda 1: Začnite cez System.Diagnostics.Process.Start():
Metóda implementácie: Modifikujte programový súbor generovaný predvolene a upravený kód je nasledovný:
Keďže kód už bol komentovaný, nebude zachádzať do detailov;
Efekt: Keďže sa spúšťa volaním externého volania System.Diagnostics.Process.Start(), keď beží priamo cez VS, nevyzve VS, aby potreboval administrátorské práva, iba program sám potrebuje administrátorské práva, čo sa líši od programu, ktorý aplikáciu generuje. Toto je hlavný rozdiel oproti implementácii metódy 2.
Metóda 2: Pridaním súboru manifestu žiadosti:
V projekte Pridať novú položku vyberte súbor manifestu aplikácie a kliknite na tlačidlo Pridať
Po pridaní sa súbor app.manifest otvorí štandardne, čo spôsobí:
Upravené na:
Potom otvorte vlastnosti projektu a upravte manifest v sekcii Resources v záložke Aplikácie na nový app.manifest.
Projekt znovu vybudujte a keď program znovu otvoríte, budete vyzvaní, aby ste spustili s administrátorskými oprávneniami.
Všimnite si, že ak začnete ladiť vo VS, budete vyzvaní, že táto úloha vyžaduje, aby aplikácia mala zvýšené oprávnenia. Ako je uvedené nižšie:
Na to vyber Restart s inými prihlasovacími údajmi.
Metóda 3: Upraviť vlastnosti programového súboru priamo
Kliknite pravým tlačidlom na programový súbor v záložke Kompatibilita v dialógovom okne Vlastnosti, ktoré sa zobrazí
Zaškrtnite "Spustiť tento program ako administrátor".







Predchádzajúci:{"Prvok '_id' nezodpovedá žiadnemu poľu ani vlastnosti triedy."}
Budúci:.NET/C# 4 spôsoby, ako implementovať MongoDB dotazy a fuzzy dotazy [so zdrojovým kódom]
 Prenajímateľ| Zverejnené 9. 10. 2016 9:15:27 |
Zistite, či program beží ako administrátor
Je potrebné pridať menné priestory:
pomocou System.Security.Principal;


 Prenajímateľ| Zverejnené 26. 1. 2021 9:59:52 |
C# určuje, či program beží ako administrátor
https://www.itsvse.com/thread-3004-1-1.html
 Prenajímateľ| Zverejnené 13. 10. 2025 9:18:33 |
.NET Core aplikácie bežia ako administrátori na systémoch Windows, kód je nasledovný:


Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com