C# 继续使用另一个类中的进程

C# 继续使用另一个类中的进程,c#,winforms,process,C#,Winforms,Process,我有一个winform应用程序和一个控制台应用程序。。。我以子级身份运行控制台,以父级身份运行winform..我想在另一个类中继续使用相同的进程,但这给了我一个类型错误:StandardOut尚未重定向或进程尚未启动。 以下是代码: 第一节课: public class form1 { //in some method: Process p = new Process(); p.StartInfo.FileName="AIComput

我有一个winform应用程序和一个控制台应用程序。。。我以子级身份运行控制台,以父级身份运行winform..我想在另一个类中继续使用相同的进程,但这给了我一个类型错误:StandardOut尚未重定向或进程尚未启动。 以下是代码: 第一节课:

public class form1
{
//in some method:




      Process p = new Process();
                    p.StartInfo.FileName="AIComputer.exe";
                    p.StartInfo.UseShellExecute = false;
                    p.StartInfo.CreateNoWindow = true; 
                    p.Start();
                    game.processID = p.Id;


}
在另一节课上呢

public class Game
{
在form2加载事件中

{
  p = new Process();


            Process[] allprocesses = Process.GetProcesses();
            int i = 0;
            do
            {
                i++;
            } while (allprocesses[i].Id != processID&&i<allprocesses.Count());

            p = allprocesses[i];
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.CreateNoWindow = true;
            p.Start();
}
}
{
p=新工艺();
Process[]allprocesss=Process.getprocesss();
int i=0;
做
{
i++;

}while(allprocesss[i].Id!=processID&&i您不能启动已经启动的进程,也不能在已经启动后重定向i/O流

为什么不将原始的
过程
对象引用从
form1
实例传递到
form2
实例?例如:

partial class form2
{
    private Process _process;

    public form2(Process process)
    {
        _process = process;
    }
}

然后,当
form1
创建
form2
实例时(或者不管代码做什么……不幸的是,您的代码示例不够完整,无法准确地知道引用的最佳路径),它只需将引用传递给
form2
构造函数。

您无法启动已启动的进程,也无法在已启动后重定向I/O流

为什么不将原始的
过程
对象引用从
form1
实例传递到
form2
实例?例如:

partial class form2
{
    private Process _process;

    public form2(Process process)
    {
        _process = process;
    }
}

然后,当
form1
创建
form2
实例时(或者不管代码做什么……不幸的是,您的代码示例不够完整,无法准确地知道引用的最佳路径),它只需将引用传递给
form2
构造函数。

您无法启动已启动的进程,也无法在已启动后重定向I/O流

为什么不将原始的
过程
对象引用从
form1
实例传递到
form2
实例?例如:

partial class form2
{
    private Process _process;

    public form2(Process process)
    {
        _process = process;
    }
}

然后,当
form1
创建
form2
实例时(或者不管代码做什么……不幸的是,您的代码示例不够完整,无法准确地知道引用的最佳路径),它只需将引用传递给
form2
构造函数。

您无法启动已启动的进程,也无法在已启动后重定向I/O流

为什么不将原始的
过程
对象引用从
form1
实例传递到
form2
实例?例如:

partial class form2
{
    private Process _process;

    public form2(Process process)
    {
        _process = process;
    }
}
然后,当
form1
创建
form2
实例时(或者不管代码做什么……不幸的是,您的代码示例不够完整,无法准确地知道引用的最佳路径),它可以将引用传递给
form2
构造函数