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