在.net启动时,控制台应用程序和Windows应用程序的区别是什么?

本文关键字:应用程序 Windows 区别 是什么 启动 控制台 net | 更新日期: 2023-09-27 18:13:16

想象一下。net应用程序在构建后启动,无论是控制台还是WinForm。在像/subsystem, /out,…操作系统(目前是Windows)或。net虚拟机(我不知道哪一个会首先捕获正在运行的应用程序)如何决定运行哪个窗口系统,以及当它想要运行所需的系统时它会做什么?

在.net启动时,控制台应用程序和Windows应用程序的区别是什么?

我看到这个问题已经更新了,以反映fracimadric Hamidi的评论解决方案,但是为了遵守Stack Overflow的Q&A格式,我承认这个问题是一个带有Community Wiki标记集的答案,按照"没有答案的问题,但在评论中解决了问题(或在聊天中扩展)。"

有一个标志。在可执行文件本身,在PE头的某个地方。该标志在构建时设置,并指示应用程序希望在哪个子系统(GUI或控制台)下运行。加载程序读取该标志并相应地设置一个控制台。这早于。net——CLR并没有带来任何新的东西。