我有一个用 C++(使用 MFC)编写的 GUI Windows 应用程序,它将自身附加到父控制台以通过stdout
流输出。它使用AttachConsole API 和此处描述RedirectIOToConsole
的方法。
因此,如果我从常规控制台应用程序(本机具有输出到标准输出)中调用以下行:
_tprintf(_T("Test message.\n"));
我得到了我期望的输出:
但是,如果我从我的 GUI 应用程序(带有附加的父控制台)调用同一行代码,我会得到以下信息,除了控件似乎没有返回到父命令提示符窗口(见红色圆圈):
请注意,我可以在父命令提示符窗口中键入,所以它不会挂起,如果我按 Enter 键,它将执行我作为命令键入的任何内容。
那么我没有从我的控制台应用程序调用什么来将控制权返回给父控制台?