如何隐藏随我的应用程序打开的控制台窗口?
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。
【讨论】:
以上是关于如何隐藏随我的应用程序打开的控制台窗口?的主要内容,如果未能解决你的问题,请参考以下文章