Здравствуйте.
Есть приложение ARX, которое имеет свое меню и тулбары, ленту пока не используем. Пользователям его представляли как отдельное приложение на базе AutoCAD, и меню и тулбары и ленту автокада скрывали. Примерно 30 пользователей. Запуск автокада с его собственным интерфейсом раньше редко использовался.
Сейчас есть задача для всех 30 пользователей обеспечить 2 варианта запуска автокада: как он устанавливается по умолчанию, т.е. с лентой и интерфейсом AutoCAD, а 2й вариант это с нашими ARX меню, и тулбарами, без ленты.
Не получается настроить это так, чтобы пользователь только запускал 2 разных ярлыка и больше ничего не делал.
Приложение ARX лежит в %userprofile%\AppData\local\MyApp, там есть файлы *mns, *.shx, *lin, *.pat, acad.lsp, myapp.arx, а также всякие ico, bmp , cfg и т.д.
Запуск автокада ярлыком приложения:
"C:\Program Files\AutoCAD 2010\acad.exe" /nologo /s "%userprofile%\AppData\Local\MyApp";"C:\Program Files\AutoCAD 2010\UserDataCache\Support" /ld myapp.arx
Основная трудность в том, что меню автокада грузится командой
acedCommand(RTSTR, L"_MENU", RTSTR, cs2ws("mymenu.mns"), RTNONE);
и запоминается в настройках автокада, затем запоминается в настройках, и при запуске ярлыка автокада заменяет собой дефолтный интерфейс автокада, а этого не нужно.
попытки загрузить меню через параметры запуска /w и /p не удались.
вторая проблема в том, что после того как через acad.lsp такого содержания
(defun S::STARTUP()
(command "myinit")
)
в конце команды myinit выполнится _ribbonclose, автокад сам вызывает _ribbon, и пустая панель появляется с сообщением о том, что в нее ничего не загружено.
Можно как-то отключить этот вызов _ribbon?
У меня есть идеи "протезных" решений этих проблем.
Для восстановления меню можно инсталлятором приложения запоминать путь к оригинальному меню, а затем после загрузки меню восстанавливать это каждый раз в реестре.
Для ликвидации проблемы с лентой можно создать таймер, который сработает после завершения команды myinit через долю секунды и вызовет _ribbonclose после _ribbon.
Но хочется надеяться, что можно справиться и средствами настройки запуска, но пока не получилось, помогите, пожалуйста.
AutoCAD 2010 x64, Win7 x64.