Получение вывода CMD через Process.Start с UseShellExecute = true в C#C#

Место общения программистов C#
Ответить
Anonymous
 Получение вывода CMD через Process.Start с UseShellExecute = true в C#

Сообщение Anonymous »

Мне нужно запустить команду с повышенными правами в моем приложении C# и получить выходные данные.

Я создаю новый экземпляр System.Diagnostics.Process , в сочетании с новым экземпляром System.Diagnostics.ProcessStartInfo.

Команда отправляется в cmd.exe и, к сожалению, может потребовать повышенных прав доступ пользователя (это означает, что UseShellExecute = true и Verb = "runas" должны присутствовать).

В результате использования UseShellExecute = true RedirectStandardOutput не будет работать.

Важно записать вывод команды, но единственный способ получить это — добавить что-то вроде > output.txt в список аргументов, а затем вызвать System.IO.File.ReadAllText, чтобы прочитать результат.

Может ли кто-нибудь придумать менее хакерский способ?

Подробнее здесь: https://stackoverflow.com/questions/316 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»