【发布时间】:2011-02-17 22:27:33
【问题描述】:
从另一个控制台应用程序启动一个控制台应用程序时,控制台所有权如何工作?
我看到了四种可能性:
- 第二个应用程序在其生命周期内从第一个应用程序继承控制台,控制台在退出时返回给原始所有者。
- 每个应用程序都有自己的控制台。然后 Windows 以某种方式将两者的内容合并到用户可见的“控制台”中
- 第二个应用程序获取属于第一个应用程序的控制台句柄。
- 控制台放置在共享内存中,两个应用程序具有相同的“所有权”
很可能我错过了一些东西,这四个选项都不能充分描述 Windows 对其控制台的作用。
如果答案接近选项4。我的后续问题是这两个进程中的哪一个负责管理窗口? (当屏幕需要刷新/重绘等时处理图形更新)
一个具体的例子:运行 CMD。然后,使用 CMD,运行 [控制台应用程序]。 [控制台应用程序] 将写入似乎与 CMD 使用的相同控制台窗口。
【问题讨论】:
标签: windows winapi console console-application