如何隐藏控制台窗口并显示启动画面?

4

我使用了Matlab编译器创建了一个.exe文件。该程序需要15秒才能启动。我想隐藏控制台窗口并显示自定义的启动画面。我该如何实现?

3个回答

2

0

你可以编写一个“启动器”程序。

启动器将会:

  1. 创建闪屏界面
  2. 使用CreateProcess()或其他方法启动matlab exe。
  3. 等待matlab exe正确打开
  4. 退出

最棘手的部分是确定matlab程序何时启动。一种方法可能是在循环中调用EnumWindows()和GetWindowText(),寻找matlab窗口标题,但如果了解matlab程序的功能,您可能能想出更好的方法。

您可能需要不断检查matlab进程是否已经停止运行,以防发生意外情况。


0
为了摆脱DOS窗口,请使用mcc -e而不是mcc -m。请参阅在线文档中的“MATLAB编译器>函数参考”,该文档由doc()打开。但您可能不想这样做:DOS窗口是最后的输出选择;未处理的异常、核心转储和其他诊断输出都会在此处显示。至少将其作为选项,以便您可以拥有具有DOS窗口的调试版本。
根据我的经验,在编译的独立Matlab程序中,启动开销发生在控制转移到用户M代码之前,因此需要在外部程序中完成闪屏,或者连接到mcc生成的C包装器中。您可以使用Michael J的建议编写一个启动器。但是,由于这是一个独立应用程序,因此您不需要寻找matlab.exe或Matlab桌面窗口。为了检测Matlab程序何时启动,请让您的M代码将一个小临时文件作为程序执行的第一件事情写出,并让您的启动器监视该文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接