一尘不染

.NET-WindowStyle =隐藏vs. CreateNoWindow = true?

c#

当我开始一个新过程时,如果我使用

WindowStyle = Hidden

或者

CreateNoWindow = true

ProcessStartInfo类的属性?


阅读 443

收藏
2020-05-19

共1个答案

一尘不染

正如汉斯所说,WindowStyle是传递给流程的推荐,应用程序可以选择忽略它。

CreateNoWindow控制控制台如何用于子进程,但它不能单独工作。

CreateNoWindow与UseShellExecute协同工作,如下所示:

要在没有任何窗口的情况下运行该过程:

ProcessStartInfo info = new ProcessStartInfo(fileName, arg); 
info.CreateNoWindow = true; 
info.UseShellExecute = false;
Process processChild = Process.Start(info);

在其自己的窗口中运行子进程(新控制台)

ProcessStartInfo info = new ProcessStartInfo(fileName, arg); 
info.UseShellExecute = true; // which is the default value.
Process processChild = Process.Start(info); // separate window

在父级的控制台窗口中运行子进程

ProcessStartInfo info = new ProcessStartInfo(fileName, arg); 
info.UseShellExecute = false; // causes consoles to share window 
Process processChild = Process.Start(info);
2020-05-19