如果我要编写一个控制台应用程序来启动另一个控制台应用程序作为新进程,并使用默认的“UseShellExecute”和“CreateNoWindow”值,结果是控制台应用程序窗口旁边会出现一个新的命令行窗口:
UseShellExecute=true and CreateNoWindow=false
现在,如果我要使用以下内容,将不会创建新窗口,但已启动进程的输出将出现在启动它的应用程序的窗口上:
UseShellExecute=false and CreateNoWindow=false
如果我要使用以下内容,则不会创建新窗口,启动进程的输出也不会出现在启动它的应用程序的窗口上:
UseShellExecute=false and CreateNoWindow=true
但是好像UseShellExecute=true时“CreateNoWindow”没有任何作用,那么UseShellExecute=true时“CreateNoWindow”起什么作用呢?仅当作为新进程启动的应用程序是 Forms 应用程序时才适用?