C# Программно открыть cmd.exe и записать команду в консоль, когда UseShellExecute имеет значение true - PullRequest
0 голосов
/ 06 марта 2020

Я попробовал фрагмент кода:

                    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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...