通过c#从正在运行的应用程序运行命令行

时间:2011-09-12 21:43:32

标签: c# command-line

我四处寻找并没有找到任何有用的东西! :(

我想要的是让我的C#app对正在运行的进程执行命令。这个运行过程是一个控制台应用程序,我只需要输入命令“restart”..我的尝试是:

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

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

3 个答案:

答案 0 :(得分:4)

您应该写信至p.StandardInput

答案 1 :(得分:1)

而不是

Console.WriteLine("restart");

使用

p.StandardInput.WriteLine("restart");

答案 2 :(得分:1)

感谢您的帮助人员:)我设法使用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}");

          }