RealFlare Ответов: 0

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


Эй, ребята, кто-нибудь знает, как запустить приложение от имени администратора на form_load без редактирования app.manifest? Мне это очень нужно для моего нового проекта. Спасибо :)

Что я уже пробовал:

Dim startInfo As New ProcessStartInfo()
       Dim myprocess As New Process()
       startInfo.FileName = "C:\test.exe"
       startInfo.Verb = "runas"
       startInfo.Arguments = "/env /user:" + "Administrator" + " cmd"
       myprocess.StartInfo = startInfo
       myprocess.Start()


Этот исходный код делает ошибку, когда я закрываю поле "Запуск от имени администратора", и когда я копирую этот код в Form_Load, он просто делает неограниченные поля"Запуск от имени администратора".

Afzaal Ahmad Zeeshan

Вам нужно получить права администратора для вашей формы, а не для внутренних процессов. Что вы используете в самой форме?

[no name]

Что ты имеешь в виду? Я просто хочу, чтобы приложение запросило разрешения администратора

Afzaal Ahmad Zeeshan

Да, это так. Но в коде о вас на самом деле запрашиваются эти разрешения для общего процесса, который выполняется "test.exe". Поэтому я спрашиваю, что это за код, который вы используете в своей WinForm? Ты можешь это показать?

Richard MacCutchan

Просто отметьте свое приложение как "Запуск от имени администратора", а не пытайтесь что-то изменить во время выполнения. Однако вы можете сделать это только в том случае, если у вас есть доступ к учетной записи администратора. Поэтому, если вы пытаетесь взломать чью-то систему, вы не сможете этого сделать.

[no name]

Ваш код не запрашивает разрешения, это происходит до запуска вашей программы. Манифест сообщает управлению учетными записями пользователей, нужны ли ему повышенные разрешения или нет. Причина, по которой вы получаете бесконечный цикл, заключается в том, что программа запускается, затем запускается сама, запрашивая разрешения администратора, затем эта программа делает то же самое и т. д.

Если у вас должна быть сама программа, запрашивающая разрешения администратора, вы должны иметь программу а, использующую этот код, чтобы запустить программу В с правами администратора.

0 Ответов