重定向进程的输入(记事本)

时间:2015-08-01 10:03:45

标签: c# process outputstream io-redirection

我正在尝试打开记事本进程并在初始化后将字符串写入其中。 这只是我真正目标的一个“POC”,即开始一个进程,某种用户终端,并通过我的应用程序完全控制它。

我在这里以不同的形式搜索了这个问题,发现this link正是我正在搜索的内容!

不幸的是,它不起作用:/

这是简单的代码:

static void Main(string[] args)
    {
        ProcessStartInfo ProcessInfo = new ProcessStartInfo("notepad");
        ProcessInfo.RedirectStandardInput = true;
        ProcessInfo.RedirectStandardOutput = true;
        ProcessInfo.RedirectStandardError = true;
        ProcessInfo.UseShellExecute = false;
        ProcessInfo.ErrorDialog = false;

        Process aProcess = new Process();
        aProcess.StartInfo = ProcessInfo;
        aProcess.Start();

        StreamWriter processWriter = aProcess.StandardInput;
        StreamReader processReader = aProcess.StandardOutput;
        StreamReader processError = aProcess.StandardError;

        while (!aProcess.Responding)
        {
            System.Threading.Thread.Sleep(5000);
        }
        processWriter.WriteLine("OMG IT FINALLY WORKED");
        aProcess.WaitForExit();

    }

记事本过程打开了,但我尝试用我的processWriter写的信息不存在。

有没有人知道它为什么不起作用以及如何在没有像使用击键和东西的解决方法的情况下使它工作?

提前致谢!

0 个答案:

没有答案