none
Programın yönetici haklarını alması RRS feed

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
    14 Kasım 2017 Salı 19:05

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...



    14 Kasım 2017 Salı 08:33
  •         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
    14 Kasım 2017 Salı 17:29
  • Ö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
    14 Kasım 2017 Salı 19:05