我四处寻找并没有找到任何有用的东西! :(
我想要的是让我的C#app对正在运行的进程执行命令。这个运行过程是一个控制台应用程序,我只需要输入命令“restart”..我的尝试是:
Process[] processes = Process.GetProcessesByName("OpenSim.32BitLaunch");
foreach (Process p in processes)
{
p.StandardInput.WriteLine("restart");
}
答案 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}");
}