为了防止显示另一个命令窗口,我尝试了以下两种方法
1)
StartInfo.UseShellExecute = true;
StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
2)
StartInfo.UseShellExecute = false;
这些用法有利有弊吗?
答案 0 :(得分:1)
将StartInfo.UseShellExecute设置为false有很多好处。
其中之一是您可以重定向标准输入,标准输出和标准错误并读取这些流。出现问题时,这非常有用。通过读取标准错误流,您可以确定是否发生了任何错误。
有关shellExecute的详细信息,请点击this链接
关于StartInfo.WindowStyle属性,如果我们将其保持为false,则在进程启动时弹出命令提示符。如果您的应用程序具有漂亮,丰富的UI,然后突然出现一个黑色窗口,它会使用户厌烦,有些用户可能会在进程退出之前尝试关闭命令提示符。还有更多原因可以保持窗口隐藏。
答案 1 :(得分:0)
是,
有区别
例如,如果将其设置为false,则可以重定向输入,输出和错误流。或使用其他用户来运行该过程
阅读MSDN会为您提供更多详细信息。