在c#中重定向JAR的标准输出

时间:2016-11-12 20:21:34

标签: java c# jar process

我有一个C#应用程序,在某些时候需要与JAR应用程序通信。没问题,我使用以下代码启动应用程序但不幸的是,应该打印应用程序控制台的窗口仍然是黑色,jar文件在GUI模式下执行。

如果我使用来自RUN或CMD的相同命令调用相同的文件,它可以工作,并且控制台会注册来自JAR的消息任何想法为什么从我的C#应用​​程序启动时它不会向控制台注册任何消息?

[ProcessStartInfo psi32 = default(ProcessStartInfo);
            Process proc1 = new Process();
            string path1 = Application.StartupPath;
            dynamic process3 = pat1 + "java.exe";
            dynamic jar = "-jar ";
            dynamic param1 = "/ssh.jar";
            dynamic args3 = string.Format("{0}{1} {2}", jar, path1, param1);
            psi32 = new ProcessStartInfo(process3, args3);
            psi32.RedirectStandardInput = true;
            psi32.UseShellExecute = false;
            proc1.StartInfo = psi32;
            proc1.Start();
            string condeva;
            using (StreamReader reader = proc1.StandardOutput)
            {
                message= reader.ReadToEnd();
            }
            if (message.Contains("failed"))
            {
                message.Text = "found it...";
            }

0 个答案:

没有答案