Как запустить приложение при запуске от имени администратора?

Моя проблема проста. Я не могу найти решения обеих проблем вместе. Мой вопрос о запуске моей программы при запуске с правами администратора без предупреждения. Я просто хочу получить права администратора при настройке. Я использую regedit для запуска моей программы при запуске, она работает без прав администратора. Если я пытаюсь дать права администратора на манифест приложения, программа не запускается при запуске. Как мне это решить? Также программе нужен графический интерфейс, поэтому я не могу пользоваться услугами. Спасибо за помощь.

Вот мои коды запуска

private void SetStartup()
    {
        RegistryKey rk = Registry.CurrentUser.OpenSubKey
            ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

        if (chkStartUp.Checked)
        {
            rk.SetValue("_connectorEthernet", Environment.CurrentDirectory + @"\_connectorEthernet");
            WriteToSettingFile("true");
        }
        else
        {
            rk.DeleteValue("_connectorEthernet", false);
            WriteToSettingFile("false");
        }
    }

person Gökhan Gökce    schedule 02.11.2018    source источник
comment
Какое предупреждение вы имеете в виду, когда пишете запуск с правами администратора без предупреждения? Вы имеете в виду диалоговое окно Windows, информирующее вас о том, что вы собираетесь запустить программу с правами администратора (и, возможно, спрашивая вас об учетных данных администратора)?   -  person    schedule 03.11.2018
comment
Если у вас есть программа, требующая/запрашивающая повышение привилегий, и вы не используете учетную запись с повышенными/привилегиями (администратора) для запуска этой программы, Windows запросит подтверждение пользователя (и, возможно, запросит учетные данные администратора). Нет никакого способа обойти это. Чтобы программа могла автоматически получать или запускать себя с правами администратора, не требуя, по крайней мере, подтверждения/аутентификации пользователя (или других проверок безопасности) при запуске из обычной/ограниченной учетной записи пользователя, это влажная мечта каждого отдельного программиста вредоносных программ...   -  person    schedule 03.11.2018
comment
Подумай об этом. Если бы какое-либо приложение могло включать код, заставляющий приложение запускаться от имени администратора, то вся инфраструктура, не позволяющая приложениям запускаться от имени администратора, была бы бесполезной. Все злые приложения просто будут требовать этого. Самый простой способ заставить ваше приложение запрашивать права администратора (что может помешать пользователям без прав администратора использовать его) — включить это требование в манифест, встроенный в ваше приложение: stackoverflow. com/questions/2818179/. Найдите информацию о контроле учетных записей пользователей.   -  person Flydog57    schedule 03.11.2018
comment
Во первых спасибо за ответ. Я хотел бы сделать программу, которая запускается при запуске. Он должен настроить себя в текстовом файле конфигурации (он находится в каталоге установки программы на локальном C:), и если какие-либо настройки изменятся, запишите текстовый файл. После этого ему нужно запустить некоторый код cmd в фоновом режиме. Это кодирует сетевой процесс и требует прав администратора. Основная идея в том, что я хочу легко подключить свою школьную сеть к Ethernet. Это требует некоторой настройки сетевой карты. Для него уже есть программа, но в ней есть баги. Я хочу поменять его со своим. Надеюсь, теперь достаточно ясно.   -  person Gökhan Gökce    schedule 03.11.2018
comment
Предупреждение из-за <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />   -  person Gökhan Gökce    schedule 03.11.2018


Ответы (1)