Vistassa ja Windows 7:ssä ja uudemmissa versioissa on lisätty tietoturvamekanismi nimeltä UAC (User Account Control), ja jos UAC on päällä, vaikka käyttäjä kirjautuisi sisään ylläpitäjän oikeuksilla, sovellukset eivät voi kirjoittaa järjestelmähakemistoon, järjestelmärekisteriin tai muihin asetuksiin, jotka voivat vaikuttaa järjestelmän normaaliin toimintaan oletuksena. Tämä mekanismi parantaa järjestelmän turvallisuutta huomattavasti, mutta sovelluskehittäjille emme voi pakottaa käyttäjiä sammuttamaan UAC:ta, mutta joskus kehittämämme sovelluksen täytyy toimia ylläpitäjän tiellä, miten tällainen toiminto saavutetaan? Näin C#-ohjelma toteuttaa kehottaen käyttäjää suorittamaan järjestelmänvalvojan oikeudet. Tässä esimerkissä WinForm-ohjelma osoittaa, että uusi projekti luodaan ja muokataan sen mukaisesti: Menetelmä 1: Käynnistä System.Diagnostics.Process.Start(): Toteutusmenetelmä: Muokkaa oletuksena tuotettua ohjelmatiedostoa, ja muokattu koodi on seuraava: Koska koodia on jo kommentoitu, se ei mene yksityiskohtiin; Vaikutus: Koska se käynnistetään kutsumalla ulkoista kutsua System.Diagnostics.Process.Start(), kun se ajaa suoraan VS:n kautta, se ei pyydä VS:ää tarvitsemaan ylläpitäjäoikeuksia, vaan vain itse ohjelma tarvitsee ylläpitäjäoikeudet, mikä eroaa ohjelman luovasta ohjelmasta. Tämä on pääasiallinen ero menetelmän 2 toteutukseen. Menetelmä 2: Lisäämällä sovellusmanifestin tiedosto: Project Add New Item -osiossa valitse Application Manifest File ja klikkaa Lisää-painiketta Kun tiedosto lisätään, app.manifest avataan oletuksena, ja tiedosto on: Muokattu: Avaa sitten Projektin ominaisuudet ja muokkaa Manifestia Resurssit -välilehdellä sovellukset-välilehdellä uudeksi app.manifestiksi. Rakenna projekti uudelleen, ja kun avaat ohjelman uudelleen, sinua pyydetään suorittamaan ylläpitäjän oikeudet. Huomaa, että jos aloitat virheenkorjauksen VS:ssä, sinulle ilmoitetaan, että tämä tehtävä vaatii sovellukselta kohotetut oikeudet. Kuten alla on esitetty: Valitse Käynnistä uudelleen muilla tunnuksilla. Menetelmä 3: Muokkaa ohjelmatiedoston ominaisuuksia suoraan Napsauta hiiren oikealla ohjelmatiedostoa yhteensopivuus-välilehdellä Ominaisuudet-valintaikkunassa, joka avautuu Valitse "Suorita tämä ohjelma järjestelmänvalvojana".
|