Я попробовал фрагмент кода:
Process p = new Process();
ProcessStartInfo info = new ProcessStartInfo("cmd.exe");
info.UseShellExecute = true;
info.Verb = "runas";
p.StartInfo = info;
p.Start();
using (StreamWriter sw = p.StandardInput)
{
if (sw.BaseStream.CanWrite)
{
sw.WriteLine("DISM.exe /Online /Add-Capability /CapabilityName:Microsoft.WebDriver~~~~0.0.1.0");
}
}
Он успешно открывает командную строку с правами администратора, но я не могу написать в нее, используя streamwriter. Я знаю, что это потому, что для RedirectStandardInput не установлено значение true. Если я установлю это в true, я смогу написать, но моя консоль потеряет свои повышенные привилегии. У меня вопрос, как я могу записать команду в консоль, когда UseShellExecute имеет значение true?