Запустите командную строку из запущенного приложения через c # - PullRequest
3 голосов
/ 13 сентября 2011

Я искал вокруг и не нашел ничего полезного!: (

Я хочу, чтобы приложение C # выполняло команду для запущенного процесса. Этот запущенный процесс является консольным приложением, и мне просто нужно ввести команду «перезагрузить» .. моя попытка была:

Process[] processes = Process.GetProcessesByName("OpenSim.32BitLaunch");

foreach (Process p in processes)
{
   p.StandardInput.WriteLine("restart");
}

Ответы [ 3 ]

4 голосов
/ 13 сентября 2011

Вы должны написать p.StandardInput.

1 голос
/ 15 сентября 2011

Спасибо вам за помощь, ребята :) Мне удалось решить с помощью SetForegroundWindow и SendKeys.Это было что-то вроде этого (не забудьте сначала импортировать соответствующие DLL):

System.Diagnostics.Process process = Process.GetProcessesByName("OpenSim.32BitLaunch")[0];

        Process[] processes = Process.GetProcessesByName("OpenSim.32BitLaunch");

        foreach (Process p in processes)
          {


              SetForegroundWindow(p.MainWindowHandle);
              Thread.Sleep(1000);
              SendKeys.SendWait("quit");
              Thread.Sleep(1000);
              SendKeys.SendWait("{ENTER}");

          }
1 голос
/ 13 сентября 2011

вместо

Console.WriteLine("restart");

Используйте

p.StandardInput.WriteLine("restart");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...