我正在从命令行执行 MFC应用程序,该命令行需要四个命令行参数。其中一个参数是目录路径。 如果路径错误,那么我想在同一命令行上显示消息“错误路径”
注意:显示我不想使用新的命令行。
答案 0 :(得分:0)
基本上不支持。有一些已知的"解决方法"为此,使用AttachConsole(-1)来附加父进程控制台。当然有缺点(比如,父控制台不会等待你的EXE终止,因为它不是" console" app)。无论如何,基本想法:
void WriteToParentConsole()
{
if (AttachConsole(-1))
{
char msg[] = "Bad Path!";
WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), msg, sizeof(msg), NULL, NULL);
// send ENTER (optional)
// ::SendMessage(GetConsoleWindow(), WM_CHAR, VK_RETURN, 0);
FreeConsole();
}
}
例如,您可以查看此文章,或者只需在AttachConsole / GUI与控制台上搜索某些内容以获取更多信息: http://www.tillett.info/2013/05/13/how-to-create-a-windows-program-that-works-as-both-as-a-gui-and-console-application/