【问题标题】:How to hide a console window that opens up with my application?如何隐藏随我的应用程序打开的控制台窗口?
【发布时间】:2011-12-21 09:04:54
【问题描述】:

我有一个控制台窗口,它与我的应用程序一起打开。我能以某种方式找到它的句柄并将其隐藏或至少将其最小化吗?假设我可以使用任何语言(C++、C#、Visual Basic、批处理文件等)

我无法移除控制台,因为每个 Matlab 编译的应用程序都有一个。

【问题讨论】:

  • 如果你用的是VS,那么你可以把它当作Winform使用,它不会显示窗口。
  • 或者在这里查看我的答案stackoverflow.com/questions/6941167/…使用vbscript打开隐藏文件。
  • 如果您不需要控制台窗口,为什么要首先打开/创建一个控制台窗口?
  • @CodyGray, 由 Matlab 编译程序打开 :(

标签: windows matlab windows-7 console-application matlab-compiler


【解决方案1】:

我假设您说的是您在 MATLAB 中使用 mcc 编译的应用程序。如果是这种情况,您可以使用一个标志。

这是来自 MATLAB 文档的简介。

-e 抑制 MS-DOS 命令窗口

在生成独立应用程序时抑制 MS-DOS 命令窗口的出现。使用 -e 代替 -m 选项。此选项仅适用于 Windows。使用 -R 选项生成错误日志,如下所示:

mcc -e -R -logfile -R 'filename' -v function_name

当我部署应用程序时,我通常让窗口保持打开状态,这样当其他人看到某种错误时,他们可以向我报告。如果您想隐藏它,请务必按照上面的建议使用 -R 来生成错误日志。

【讨论】:

  • 我也可以在 DLL 编译中使用这个日志文件吗?
【解决方案2】:

要查找句柄,请参阅:How can I get a process handle by its name in C++?

或者,如果您使用 cmd.exe 启动程序,请考虑从 Visual Studio 创建自己的 EXE,或使用 Python 和 www.py2exe.org 之类的工具将 Python 脚本转换为 EXE。

【讨论】:

    猜你喜欢
    • 2011-06-19
    • 2017-08-03
    • 2012-08-02
    • 1970-01-01
    • 2011-04-04
    • 2016-03-30
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多