Как перенаправить standardinput существующего процесса

У меня есть 2 исполняемых файла, из которых один мои файлы вызывают сторонний исполняемый файл, который открывает хром, и другой из моего второго исполняемого файла, который использует указанный выше идентификатор открытого процесса и пытается установить URL-адрес на хром

Предположим, что идентификатор первого исполняемого открытого процесса - «13265».

Вот мой пример кода:

Process p = Process.GetProcessById(13265);     
StreamWriter myStreamWriter = p.StandardInput;
myStreamWriter.WriteLine("https://www.google.com/");

Приведенный выше код вызывает ошибку типа «StandardIn не был перенаправлен».

Может быть проблема XY. Чего вы пытаетесь достичь? Может быть способ получше.

marsze 31.10.2018 13:04

По codeproject.com/Articles/18577/… похоже, что вам нужно установить processStartInfo.RedirectStandardInput = true. См. Статью для получения дополнительной информации.

JohnLBevan 31.10.2018 13:05

Джон, в вашей статье процесс начинается с нуля, но для меня это не так, нужно использовать существующий процесс.

Satya M 31.10.2018 13:16

@marsze, у меня есть один сторонний AutoIT exe, который принимает несколько входных данных std (например, открытый браузер, URL-адрес перенаправления, элемент захвата в браузере), я могу запускать этот exe из моего exe и динамически перезаписывать входные данные std (после процесса запускается), но мое требование похоже на то, чтобы вызвать этот AutoIT exe для открытого пустого браузера в одном exe, а затем использовать этот процесс выше в другом exe и принудительно изменить ввод std, например URL-адрес перенаправления

Satya M 31.10.2018 13:25
1
4
60
0

Другие вопросы по теме