powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов окна запроса прав администратора
4 сообщений из 4, страница 1 из 1
Вызов окна запроса прав администратора
    #38878064
Андрей87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Windows при выполнении каких-либо операций, требующих более высоких прав, чем имеет пользователь, выводится окно, в котором предлагается авторизоваться как администратор, после чего операция будет повторена.
Мне нужно реализовать аналогичную переавторизацию в своей программе на .NET. Ведь, наверняка есть какой-нибудь метод, вызывающий это стандартное окно Windows с предложением авторизоваться как администратор? Подскажите, пожалуйста, как оно вызывается?
...
Рейтинг: 0 / 0
Вызов окна запроса прав администратора
    #38878087
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей87,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
            var apppath = System.Reflection.Assembly.GetExecutingAssembly().Location;
            if (!HasAdministrativeRight())
            {
                RunElevated(apppath);
                Application.Current.Shutdown(0);
            }
        private bool HasAdministrativeRight()
        {
            var pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent() ?? WindowsIdentity.GetAnonymous());
            bool hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator);
            return hasAdministrativeRight;
        }

        private void RunElevated(string fileName)
        {
            var processInfo = new ProcessStartInfo();
            processInfo.Verb = "runas";
            processInfo.FileName = fileName;
            try
            {
                Process.Start(processInfo);
            }
            catch (Win32Exception)
            {
                //Do nothing. Probably the user canceled the UAC window
            }
        }
...
Рейтинг: 0 / 0
Вызов окна запроса прав администратора
    #38878188
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей87, это окно показывает сама винда. Для его вызова нужно запустить новый процесс с глаголом runas и без указания логина/пароля. Roman Mejtes уже привел пример. Обычно программа запускает свою копию и передает ей необходимую информацию через командную строку или другим IPC способом. "Копия" выполняет запрошенное действие и завершает работу.
...
Рейтинг: 0 / 0
Вызов окна запроса прав администратора
    #38886891
Андрей87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, совсем забыл поблагодарить. Спасибо большое! Это именно то, что нужно было.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов окна запроса прав администратора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]