Запуск приложения от имени администратора - C#
Формулировка задачи:
Здравствуйте! На форуме нашла код, который будет запускать приложение от имени администратора. Пробую запустить - ругается на Application, говорит, не существует в текущем контексте. Вот код:
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Diagnostics;
- using System.Linq;
- using System.Security.Principal;
- using System.Windows;
- namespace WindowsApplication1
- {
- static class Program
- {
- /// <summary>
- /// The main entry point for the application.
- /// </summary>
- [STAThread]
- static void Main()
- {
- WindowsPrincipal pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
- bool hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator);
- if (hasAdministrativeRight == false)
- {
- ProcessStartInfo processInfo = new ProcessStartInfo(); //создаем новый процесс
- processInfo.Verb = "runas"; //в данном случае указываем, что процесс должен быть запущен с правами администратора
- processInfo.FileName = Application.ExecutablePath; //указываем исполняемый файл (программу) для запуска
- try
- {
- Process.Start(processInfo); //пытаемся запустить процесс
- }
- catch (Win32Exception)
- {
- //Ничего не делаем, потому что пользователь, возможно, нажал кнопку "Нет" в ответ на вопрос о запуске программы в окне предупреждения UAC (для Windows 7)
- }
- Application.Exit(); //закрываем текущую копию программы (в любом случае, даже если пользователь отменил запуск с правами администратора в окне UAC)
- }
- else //имеем права администратора, значит, стартуем
- {
- //код
- }
- }
- }
- }
Решение задачи: «Запуск приложения от имени администратора»
textual
Листинг программы
- <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д