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".
|