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

时间:2012-11-29 08:23:29

标签: windows winapi visual-c++ console-application cmd

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

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

请注意,有与此相关的各种问题/答案,但似乎尚未调查此确切方法。 (也许这不可能。)

1 个答案:

答案 0 :(得分:5)

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

最终结果是否合理或实际是我不能说的。这两个进程都会读取和写入相同的控制台,这可能会非常奇怪。