以下区别

时间:2010-11-23 09:28:44

标签: c# .net

为了防止显示另一个命令窗口,我尝试了以下两种方法

1)

StartInfo.UseShellExecute = true;       
StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

2)

StartInfo.UseShellExecute = false; 

这些用法有利有弊吗?

2 个答案:

答案 0 :(得分:1)

将StartInfo.UseShellExecute设置为false有很多好处。

其中之一是您可以重定向标准输入,标准输出和标准错误并读取这些流。出现问题时,这非常有用。通过读取标准错误流,您可以确定是否发生了任何错误。

有关shellExecute的详细信息,请点击this链接

关于StartInfo.WindowStyle属性,如果我们将其保持为false,则在进程启动时弹出命令提示符。如果您的应用程序具有漂亮,丰富的UI,然后突然出现一个黑色窗口,它会使用户厌烦,有些用户可能会在进程退出之前尝试关闭命令提示符。还有更多原因可以保持窗口隐藏。

答案 1 :(得分:0)

是,
有区别 例如,如果将其设置为false,则可以重定向输入,输出和错误流。或使用其他用户来运行该过程 阅读MSDN会为您提供更多详细信息。