是否可以将非控制台Win32应用程序附加到调用cmd shell?

当我有一个Win32非控制台应用程序(AFAIK,一个Win32应用程序的控制台链接到exe),从控制台cmd.exe启动它将立即返回到命令提示符,运行应用程序“在后台“(它可以有一个graphics用户界面,甚至打开自己的控制台窗口)

是否有可能在非控制台可执行文件中检测到它是从cmd.exe启动并将其“附加”到启动cmd.exe?

请注意,这里有很多问题/答案,但似乎这个确切的方法还没有被调查。 (也许这是不可能的。)

Solutions Collecting From Web of "是否可以将非控制台Win32应用程序附加到调用cmd shell?"

你可以很容易地做到这一点。 只需将ATTACH_PARENT_PROCESS传递给AttachConsole

不管最终结果是合理的还是实际的,都是我不能说的。 这两个进程将读取和写入相同的控制台,可能会变得很奇怪。