Где воздух гор - там тишина снегов, молчание камней и дремлет сила

Программирование Windows

Как запустить в C# программу с правами администратора

2021-01-23 15:22:18






Бывает такое, что необходимо запустить программу в Windows с правами администратора. Простой пример показывает, как это сделать. Создадим обычную форму и добавим туда кнопку. Затем мы отредактируем обработчик этой кнопки. Но сначала мы добавим новые пространства имен:

using System.Diagnostics;
using System.Security.Principal;

Первое позволяет работать с процессами, а второе дает доступ к системе прав пользователей.
Далее комментарии в коде:

private void button_Click(object sender, EventArgs e)
{
WindowsPrincipal pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
bool hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator);
//создаем объект системы прав пользователей и получаем свойства администратора



if (hasAdministrativeRight == false) // проверяем права пользователя
{

const string url = "http://www.weather.com"; //web адрес
const string browserPath = @"C:\Program Files (x86)\Internet Explorer\iexplore.exe"; //путь к исполняемому файлу, у нас браузеру

try
{
Process.Start(browserPath, url); //запуск браузера
}
catch (Win32Exception)
{
MessageBox.Show(ex.InnerException.ToString());
}
Application.Exit();//выход из основной программы, в случае несовпадения прав пользователя.
}
else //запуск
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}

}

Как видите, все просто. На этом все.

Здесь нет комментариев


Новый комментарий:
























Яндекс.Метрика