En iyi yanıtlayıcılar
Programın yönetici haklarını alması

Soru
-
Yanıtlar
-
Önce Program.cs dosyasındaki class Program sınıfının içindeki tüm kodları silin.
Sonra bu kodları onların yerine yapıştırın...
Not: İzin istemeden yönetici olarak çalışması için windows'un kullanıcı denetimi ayarlarını en alt düzeye ayarlamalısınız...
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
- Düzenleyen MuratAKSARAY 14 Kasım 2017 Salı 19:08
- Yanıt Olarak İşaretleyen benna21 15 Kasım 2017 Çarşamba 04:23
Tüm Yanıtlar
-
public static bool HasAdministrativeRight() { WindowsPrincipal principal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); return principal.IsInRole(WindowsBuiltInRole.Administrator); } private static bool RunAs(string fileName, string args = "") { ProcessStartInfo processInfo = new ProcessStartInfo(); processInfo.Verb = "runas"; processInfo.FileName = fileName; processInfo.Arguments = args; try { Process.Start(processInfo); return true; } catch (Exception) { } return false; } public static bool RunAs(string args = "") { return RunAs(Application.ExecutablePath, args); } static void Main(string[] args) { if (!HasAdministrativeRight()) { RunAs(); } else { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } }
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
- Düzenleyen MuratAKSARAY 14 Kasım 2017 Salı 08:34
-
public static bool HasAdministrativeRight() { WindowsPrincipal principal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); return principal.IsInRole(WindowsBuiltInRole.Administrator); } private static bool RunAs(string fileName, string args = "") { ProcessStartInfo processInfo = new ProcessStartInfo(); processInfo.Verb = "runas"; processInfo.FileName = fileName; processInfo.Arguments = args; try { Process.Start(processInfo); return true; } catch (Exception) { } return false; } public static bool RunAs(string args = "") { return RunAs(Application.ExecutablePath, args); } static void Main(string[] args) { if (!HasAdministrativeRight()) { RunAs(); } else { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } }
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { if (!HasAdministrativeRight()) { RunAs(); } else { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } public static bool HasAdministrativeRight() { WindowsPrincipal principal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); return principal.IsInRole(WindowsBuiltInRole.Administrator); } private static bool RunAs(string fileName, string args = "") { ProcessStartInfo processInfo = new ProcessStartInfo(); processInfo.Verb = "runas"; processInfo.FileName = fileName; processInfo.Arguments = args; try { Process.Start(processInfo); return true; } catch (Exception) { } return false; } public static bool RunAs(string args = "") { return RunAs(Application.ExecutablePath, args); } }
Hocam yanıtınız için teşekkür ederim. Yeni bir proje açıp Main metodunu form_load()'a kopyaladım start ettim.
Else'nin içine girdi. Bu kodları nasıl uygulayacağım hocam ?
ProcessStartInfo processInfo = new ProcessStartInfo(); processInfo.Verb = "runas"; processInfo.FileName = Application.ExecutablePath; Process.Start(processInfo);
Hocam bu kodlarla kendi programı tekrardan çalıştırınca yine ekranda izin istiyor, ben ise izin istemeden yönetici haklarıyla çalışmasını istiyorum?
- Düzenleyen benna21 14 Kasım 2017 Salı 18:04
-
Önce Program.cs dosyasındaki class Program sınıfının içindeki tüm kodları silin.
Sonra bu kodları onların yerine yapıştırın...
Not: İzin istemeden yönetici olarak çalışması için windows'un kullanıcı denetimi ayarlarını en alt düzeye ayarlamalısınız...
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
- Düzenleyen MuratAKSARAY 14 Kasım 2017 Salı 19:08
- Yanıt Olarak İşaretleyen benna21 15 Kasım 2017 Çarşamba 04:23