wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了.net – ProcessStartInfo的UseShellExecute和CreateNoWindow有什么区别?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

如果我要编写一个控制台应用程序来启动另一个控制台应用程序作为新进程,并使用默认的“Use ShellExecute”和“CreateNoWindow”值,结果是控制台应用程序窗口旁边会出现一个新的命令行窗口: UseShellExecute=true and CreateNoWindow=false 现在,如果我要使用以下内容,则不会创建新窗口,但启动过程的输出将出现在启动它的应用程序的窗口中:
如果我要编写一个控制台应用程序来启动另一个控制台应用程序作为新进程,并使用认的“Use ShellExecute”和“CreateNowindow”值,结果是控制台应用程序窗口旁边会出现一个新的命令行窗口:

UseShellExecute=true and CreateNowindow=false

现在,如果我要使用以下内容,则不会创建新窗口,但启动过程的输出将出现在启动它的应用程序的窗口中:

UseShellExecute=false and CreateNowindow=false

如果我要使用以下内容,既不会创建新窗口,也不会在启动它的应用程序窗口中显示启动进程输出

UseShellExecute=false and CreateNowindow=true

但是当UseShellExecute = true时,似乎“CreateNowindow”没有效果,那么当UseShellExecute = true时,“CreateNowindow”会扮演什么角色呢?仅当作为新进程启动的应用程序是Forms应用程序时,它是否适用?

解决方法

它没有任何作用.规则是CreateNowindow仅在以下情况下具有效果

>您使用UseShellExecute = false,以便使用CreateProcess()winapi来启动该程序
>您启动的程序是控制台模式应用程序.

如果应用程序是创建自己的窗口的本机Windows GUI应用程序,那么您可以要求它不使用WindowStyle = ProcessWindowStyle.Hidden创建可见窗口.但是有很多程序忽略了这个请求.他们应该只通过任务管理器来阻止它.下一个合理的选择是ProcessWindowStyle.Minimized

大佬总结

以上是大佬教程为你收集整理的.net – ProcessStartInfo的UseShellExecute和CreateNoWindow有什么区别?全部内容,希望文章能够帮你解决.net – ProcessStartInfo的UseShellExecute和CreateNoWindow有什么区别?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: