2009-05-26 6 views

ответ

0

Вы можете написать программу «Launcher».

Пусковая бы

  1. Создать заставке
  2. Launch в MatLab ехе с помощью CreateProcess() или какой-либо другой метод.
  3. Подождите, пока MatLab ех должным образом открыли
  4. Выход

хитрый бит будет определить, когда началась программа Matlab. Один из методов может состоять в том, чтобы вызвать EnumWindows() и GetWindowText() в цикле, ища заголовок заголовка matlab, но вы могли бы лучше понять, что делает программа Matlab.

Вам, вероятно, необходимо будет проверить, что процесс Matlab не умер, если что-то пойдет не так.

2

Что касается создания заставки, есть несколько представлений о The MathWorks File Exchange, которые имеют дело с только что:

Я никого из них не использовал лично, но они должны по крайней мере дать вам некоторые рекомендации, если вы хотите создать свой собственный экран заставки.

0

Чтобы избавиться от окна DOS, используйте mcc -e вместо mcc -m. См. «Компилятор MATLAB> Справочник по функциям» в онлайн-документации, поднятой doc(). Возможно, вы не захотите этого сделать: окно DOS - это результат последней инстанции; это где необработанные исключения, дампы ядра и другой диагностический вывод. По крайней мере, сделайте это возможным, чтобы вы могли создать отладочную сборку с окном DOS.

По моему опыту, начальная загрузка для скомпилированной автономной программы Matlab происходит до того, как управление переходит к пользовательскому M-коду, поэтому заставка должна быть выполнена во внешней программе или подключена к обертке C, которая mcc генерирует. Вы могли бы использовать предложение Майкла Дж. Написать пусковую установку. Однако вы не ищете matlab.exe или окно рабочего стола Matlab, поскольку это автономное приложение. Чтобы обнаружить, когда программа Matlab запущена, ваш M-код выписывает небольшой файл temp в качестве первой вещи, которую выполняет программа, и запустите ее.

Смежные вопросы