当我有一个 Win32 非控制台应用程序(AFAIK,Win32 应用程序的控制台功能链接到 exe)时,从控制台启动它cmd.exe
会立即返回命令提示符,“在后台”运行应用程序(oc它可以有各种各样的 GUI,甚至可以打开自己的控制台窗口)
是否可以在非控制台可执行文件中检测到它是从 cmd.exe 启动的并将其“附加”到启动的 cmd.exe 上?
请注意,有各种与此相关的问题/答案,但似乎尚未调查这种确切的方法。(也许那样不可能。)
当我有一个 Win32 非控制台应用程序(AFAIK,Win32 应用程序的控制台功能链接到 exe)时,从控制台启动它cmd.exe
会立即返回命令提示符,“在后台”运行应用程序(oc它可以有各种各样的 GUI,甚至可以打开自己的控制台窗口)
是否可以在非控制台可执行文件中检测到它是从 cmd.exe 启动的并将其“附加”到启动的 cmd.exe 上?
请注意,有各种与此相关的问题/答案,但似乎尚未调查这种确切的方法。(也许那样不可能。)
你可以很容易地做到这一点。只需传递ATTACH_PARENT_PROCESS
给AttachConsole
.
最终结果是否合理或实用,我不能说。两个进程都会读取和写入同一个控制台,这可能会变得很奇怪。