Vista ve Windows 7 ve sonrasında UAC (Kullanıcı Hesabı Kontrolü) adlı bir güvenlik mekanizması eklenmiştir ve UAC açıksa, kullanıcı yönetici ayrıcalıklarıyla giriş yapsa bile, uygulamaları sistem dizini, sistem kayıt defini, sistem kayıt defterine ve varsayılan olarak sistemin normal işleyişini etkileyebilecek diğer ayarlara yazamaz. Bu mekanizma sistemin güvenliğini büyük ölçüde artırır, ancak uygulama geliştiricileri için kullanıcıları UAC'yi kapatmaya zorlayamazız, ancak bazen geliştirdiğimiz uygulamanın yönetici yolunda çalışması gerekir, böyle bir işlevi nasıl elde edebiliriz? İşte bir C# programının kullanıcıya yönetici ayrıcalıklarıyla çalışmasını isteme verme şekli şöyle. Bu örnekte, WinForm programı yeni bir projenin oluşturulduğunu ve buna göre değiştirildiğini gösterir: Yöntem 1: System.Diagnostics.Process.Start() üzerinden başlat: Uygulama yöntemi: Varsayılan olarak oluşturulan program dosyasını değiştirin ve değiştirilen kod şu şekildedir: Kod zaten yorum yapıldığı için detaylara girmeyecek; Etkisi: System.Diagnostics.Process.Start() harici çağrısı çağrılarak başlatıldığından, doğrudan VS üzerinden çalıştırıldığında, VS'ye yönetici hakları gerekmesini istemez, sadece programın kendisinin yönetici haklarına ihtiyacı vardır ve bu da uygulamayı üreten programdan farklıdır. Bu, yöntem 2'nin uygulanmasından ana farktır. Yöntem 2: Bir uygulama manifesto dosyası ekleyerek: Proje Yeni Öğe Ekle bölümünde Başvuru Manifest Dosyası'nı seçin ve Ekle butonuna tıklayın Eklendikten sonra, app.manifest dosyası varsayılan olarak açılır ve bu şekilde: Değiştirildi: Sonra Proje Özellikleri'ni açın ve Uygulamalar sekmesinde Kaynaklar bölümündeki manifestoyu yeni app.manifest'e dönüştürün. Projeyi yeniden oluşturun, programı tekrar açtığınızda yönetici ayrıcalıklarıyla çalıştırmanız istenecektir. VS'de hata ayıklamaya başlarsanız, bu görevin uygulamanın yükseltilmiş ayrıcalıklara sahip olmasını gerektirdiği sorulacağını unutmayın. Aşağıda gösterildiği gibi: Bunu yapmak için diğer kimlik bilgileriyle Yeniden Başlat'ı seçin. Yöntem 3: Program dosyasının özelliklerini doğrudan değiştirin Açılan Özellikler diyalog kutusundaki Uyumluluk sekmesinde program dosyasına sağ tıklayın "Bu programı yönetici olarak çalıştır" seçeneğini işaretle.
|