【发布时间】:2016-08-16 11:50:51
【问题描述】:
我有一个从cmd.exe 执行的winmain 应用程序并将输出打印到它。我使用AttachConsole(ATTACH_PARENT_PROCESS) 附加到 cmd.exe。执行应用程序并将输出打印到cmd.exe 后,不显示命令行提示,看起来应用程序仍在运行(虽然它已经关闭)。在关闭我的应用程序之前,我使用 FreeConsole() 释放控制台。
#include <iostream>
#include <fstream>
#include <windows.h>
int wWinMain
(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nCmdShow
)
{
AttachConsole(ATTACH_PARENT_PROCESS);
std::wofstream console_out("CONOUT$");
std::wcout.rdbuf(console_out.rdbuf());
std::wcout << L"\nSome Output" << std::endl;
FreeConsole();
return 0;
}
在myapp.exe 打印输出并关闭后,我应该如何让提示C:New folder> 出现。
【问题讨论】:
-
显示minimal reproducible example 肯定会有所帮助。听起来应该不会超过 3 行代码。
-
我的错。添加代码示例。
-
我不相信这是解决您问题的正确方法:stackoverflow.com/questions/38788851/…
-
您能否提及解决它的其他方法,因为就我的研究(而且我确实尽了最大努力)而言,我得出的结论是,如果您想拥有,这是唯一的方法应用程序: 1. 需要提升 2. 在某些情况下需要从命令行启动并打印输出到它。 3. 其他情况需要从其他应用启动,不出现。
-
如果我是你,我会问你的问题而不是你的解决方案。