“Console”,“cmd.exe”,“shell”之间的区别?

时间:2010-02-26 06:24:41

标签: c# windows

我不太确定控制台(在“Windows控制台应用程序”中),cmd.exe,shell之间的区别。

  • 我知道cmd.exe在运行时是一个独立的进程,是cmd.exe == shell吗?那么shell只是一个过程?
  • 是console == cmd.exe?
  • MSDN说ProcessStartInfo.UseShellExecute == True表示在启动进程时使用shell,这是否意味着进程启动与运行cmd.exe一样,并从该命令提示符运行程序?这样做有什么意义?以这种方式启动的流程是否有自己的控制台?

提前致谢。

2 个答案:

答案 0 :(得分:11)

答案 1 :(得分:3)

据我所知:
Shell:操作系统的接口,最终是内核。这包括explorer.exe和cmd.exe
控制台:您实例化Win32控制台。这是输出Console.WriteLine的窗口 cmd.exe:windows命令行解释器。它实例化Win32控制台

更多阅读:
http://en.wikipedia.org/wiki/Win32_console [win32控制台,如果不需要图形用户界面,则使用控制台]