如何隐藏随我的应用程序打开的控制台窗口?

Posted

技术标签:

【中文标题】如何隐藏随我的应用程序打开的控制台窗口?【英文标题】: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使用,它不会显示窗口。 或者在这里查看我的答案***.com/questions/6941167/…使用vbscript打开隐藏文件。 如果您不需要控制台窗口,为什么要首先打开/创建一个控制台窗口? @CodyGray, 由 Matlab 编译程序打开 :( 【参考方案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。

【讨论】:

以上是关于如何隐藏随我的应用程序打开的控制台窗口?的主要内容,如果未能解决你的问题,请参考以下文章

GCC/C如何隐藏控制台窗口?

当打开的控制台窗口关闭时,如何防止我的程序关闭?

隐藏控制台窗口

当我使用 pytesseract 和 CREATE_NO_WINDOW 运行 tesseract 时如何隐藏控制台窗口

如何在 QxtApplication 中隐藏控制台窗口

如何关闭 WPF 中隐藏的主窗口?