我看到有四种可能性:
1.第二个应用程序在其生命周期内继承自第一个应用程序的控制台,控制台在退出时返回给原始所有者。 2.每个应用程序都有自己的控制台。然后,Windows以某种方式将两者的内容合并为用户可见的“控制台”。 3.第二个应用程序获得属于第一个应用程序的控制台的句柄。 4.控制台被放置在共享内存中,两个应用程序拥有相等的“所有权”。
很可能我错过了一些东西,这四个选项都不能充分描述Windows对其控制台所做的操作。
如果答案接近选项4。我的后续问题是哪个进程负责管理窗口?(处理需要刷新/重绘屏幕时的图形更新等)
一个具体的例子:运行CMD。然后,使用CMD运行[控制台应用程序]。[控制台应用程序]将写入似乎与CMD使用的相同的控制台窗口。