如何隐藏控制台窗口并调出闪屏?

时间:2009-05-26 08:45:57

标签: c++ c windows matlab splash-screen

我使用Matlab编译器创建.exe文件。该程序需要15秒才能启动。我想隐藏控制台窗口,并显示自定义初始屏幕。我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

关于制作启动画面,The MathWorks File Exchange上的一些提交内容仅涉及:

我没有亲自使用它们,但如果你想设计自己的启动画面功能,它们至少应该给你一些指导。

答案 1 :(得分:0)

您可以编写“启动器”程序。

发射器会

  1. 创建初始屏幕
  2. 使用CreateProcess()或其他方法启动matlab exe。
  3. 等到matlab exe正确打开
  4. 退出
  5. 棘手的一点是确定matlab程序何时启动。一种方法可能是在循环中调用EnumWindows()和GetWindowText(),寻找matlab窗口标题,但是如果知道matlab程序的作用,你可能会想出更好的方法。

    如果出现问题,您可能需要继续检查matlab进程是否已经死亡。

答案 2 :(得分:0)

要摆脱DOS窗口,请使用mcc -e而不是mcc -m。请参阅doc()提出的在线文档中的“MATLAB编译器>函数参考”。但是你可能不想这样做:DOS窗口是最后的输出;它是未处理的异常,核心转储和其他诊断输出的地方。至少使它成为一个选项,这样你就可以拥有一个具有DOS窗口的调试版本。

根据我的经验,编译的独立Matlab程序的启动开销发生在控制转移到用户M代码之前,因此需要在外部程序中完成启动画面,或者挂钩到{{{ 1}}生成。您可以使用Michael J建议编写启动器。但是,您不是在寻找mcc或Matlab桌面窗口,因为这是一个独立的应用程序。要检测Matlab程序何时启动,请让你的M代码写出一个临时文件作为程序的第一件事,让你的启动程序监视它。