【问题标题】:Displaying the error string or code on Command Prompt from Windows App在 Windows 应用程序的命令提示符上显示错误字符串或代码
【发布时间】:2013-04-24 04:26:37
【问题描述】:

我正在开发一个支持 GUI 和非 GUI 执行的 VC++ Windows 应用程序。非基于 GUI 的执行是为脚本目的而设计的。现在,如果我在 GUI 模式下执行该应用程序,我可以在出现错误或异常时显示消息框以供用户确认。但是,如果应用程序在静默模式下执行,那么我想在命令提示符下显示一些错误消息,该怎么做?我试过 AllocConsole(...) 但它会弹出另一个窗口。我想避免这种情况。我的用例如下 -

CMD> myapplication.exe -silent
CMD> Error XXXX: Application message.

此处错误消息应显示在同一提示上,而不是 AllocConsole(...) 弹出的控制台上。

有什么帮助或想法吗?

谢谢, 呸呸呸

【问题讨论】:

  • printf() 输出到哪里去?

标签: windows mfc visual-c++


【解决方案1】:

这不是控制台应用程序,因此当控制台运行时,它会为 Windows 应用程序生成另一个进程,该进程不会将其标准输出映射到控制台,因为控制台会在应用程序启动后立即返回(即它不会等待它终止)。

在这种情况下,您可以执行以下操作(kernel32):

试试

附加控制台(-1);

如果你得到它,那很好

如果不是,则表示您不是从控制台运行的,您需要使用

AllocConsole(...);

如果您附加到控制台,这看起来会很困难,因为您将能够键入并与控制台交互以在其中运行其他内容,而您的应用程序将向其发送文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 2017-09-30
    • 2011-12-19
    • 2023-03-25
    相关资源
    最近更新 更多