Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 36267|Yanıt: 3

[WinForm] Yönetici ayrıcalıklarıyla çalışan C# programları

[Bağlantıyı kopyala]
Yayınlandı 9.10.2016 09:14:38 | | | |
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.







Önceki:{"Öğe '_id' herhangi bir alan veya sınıf özelliğiyle eşleşmez."}
Önümüzdeki:.NET/C# MongoDB Sorgularını ve Bulanık Sorguları Uygulamanın 4 Yolu [Kaynak Kodu ile]
 Ev sahibi| Yayınlandı 9.10.2016 09:15:27 |
Programın yönetici olarak çalışıp çalışmadığını belirleyin
İsim alanları eklenmelidir:
System.Security.Principal kullanarak;


 Ev sahibi| Yayınlandı 26.01.2021 09:59:52 |
C#, bir programın yönetici olarak çalışıp çalışmadığını belirler
https://www.itsvse.com/thread-3004-1-1.html
 Ev sahibi| Yayınlandı 13.10.2025 09:18:33 |
.NET Core uygulamaları Windows sistemlerinde yönetici olarak çalışır, kod şöyledir:


Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com