În Vista și Windows 7 și versiunile ulterioare, a fost adăugat un mecanism de securitate numit UAC (Control al Contului de Utilizator), iar dacă UAC este activat, chiar dacă utilizatorul se autentifică cu privilegii de administrator, aplicațiile sale nu pot scrie în directorul sistemului, registrul sistemului și alte setări care pot afecta implicit funcționarea normală a sistemului. Acest mecanism sporește considerabil securitatea sistemului, dar pentru dezvoltatorii de aplicații nu putem forța utilizatorii să dezactiveze UAC, însă uneori aplicația pe care o dezvoltăm trebuie să ruleze ca administrator, cum să realizăm o astfel de funcție? Iată cum implementează un program C# solicitarea utilizatorului să ruleze cu privilegii de administrator. În acest exemplu, programul WinForm demonstrează că un proiect nou este generat și modificat corespunzător: Metoda 1: Începe prin System.Diagnostics.Process.Start(): Metodă de implementare: Modificați fișierul de program generat implicit, iar codul modificat este următorul: Deoarece codul a fost deja comentat, nu va intra în detalii; Efect: Deoarece este pornit prin apelarea externă a apelului System.Diagnostics.Process.Start(), când rulează direct prin VS, nu va solicita ca VS să aibă nevoie de drepturi de administrator, ci doar programul în sine are nevoie de drepturi de administrator, ceea ce este diferit de programul care generează aplicația. Aceasta este principala diferență față de implementarea metodei 2. Metoda 2: Prin adăugarea unui fișier manifest de aplicație: Pe proiectul Adaugă element nou, selectează fișierul manifest aplicație și apasă butonul Adaugă Odată adăugat, fișierul app.manifest este deschis implicit, ceea ce va face: Modificat pentru: Apoi deschide Proprietățile Proiectului și modifică Manifestul din resursele filei Aplicații în noul app.manifest. Reconstruiește proiectul, iar când vei deschide din nou programul, ți se va cere să rulezi cu privilegiile de administrator. Rețineți că dacă începeți depanarea în VS, vi se va cere că această sarcină necesită ca aplicația să aibă privilegii ridicate. Așa cum se arată mai jos: Selectează Restart cu alte acreditări pentru a face asta. Metoda 3: Modifică direct proprietățile fișierului de program Faceți clic dreapta pe fișierul programului din fila Compatibilitate din fereastra de dialog Proprietăți care apare Bifează "Rulează acest program ca administrator".
|