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