繁体   English   中英

如何隐藏控制台窗口并显示启动屏幕?

[英]How can I hide the console window and bring up a splash screen?

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

关于启动屏幕, MathWorks File Exchange上有一些提交文件专门处理以下问题:

我没有亲自使用它们,但是如果您要设计自己的启动屏幕功能,它们至少应该给您一些指导。

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

发射器会

  1. 创建启动画面
  2. 使用CreateProcess()或其他方法启动matlab exe。
  3. 等到matlab exe正确打开
  4. 出口

棘手的问题是确定matlab程序何时启动。 一种方法可能是在循环中调用EnumWindows()和GetWindowText(),以查找matlab窗口标题,但是在了解了matlab程序功能的前提下,您也许可以提出一种更好的方法。

如果出现问题,您可能需要继续检查matlab进程是否尚未终止。

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

以我的经验,已编译的独立Matlab程序的启动开销发生在控制权转移给用户M代码之前,因此需要在外部程序中完成启动屏幕,或者将其挂接到mcc生成的C包装程序中。 您可以使用Michael J的建议来编写启动器。 不过,您并不是要查找matlab.exe还是Matlab桌面窗口,因为这是一个独立的应用程序。 要检测Matlab程序何时启动,请让您的M代码写一个临时文件作为程序的第一件事,然后让启动器监视该文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM