Как отличить что acad.exe запускается пользователем или в фоне для публикации?

Автор Тема: Как отличить что acad.exe запускается пользователем или в фоне для публикации?  (Прочитано 5131 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DoublefishАвтор темы

  • ADN Club
  • ****
  • Сообщений: 288
  • Карма: 10
  • AutoCAD Civil 3D
Добрый день
Подскажите пожалуйста, как отличить, что acad.exe запускается пользователем и на экране окно автокада активно или acad.exe запускается пользователем в фоне при печати (публикации)?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
В основном всё описано в этой статье: http://adndevblog.typepad.com/autocad/2012/08/how-to-detect-when-autocad-is-running-for-a-background-plot.html
В .NET строку запуска можно получить при помощи методов Environment.CommandLine и Environment.GetCommandLineArgs
Я нашёл, что признаком может служить еще опции /print и /Automation в командной строке запуска AutoCAD:

Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
А такая картинка будет если запускать _PLOT или _PUBLISH изнутри AutoCAD при BACKGROUNDPLOT отличной от 0:



Это запускается второй (дополнительный экземпляр AutoCAD):

Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дима_

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
Не проверял, но первое, на что бы посмотрел это значение Application.Visible.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Не проверял, но первое, на что бы посмотрел это значение Application.Visible.
Это может быть необходимым, но недостаточным условием для того, чтобы убедиться что AutoCAD запущен для фоновой печати/публикации. Кроме того, любое из приложений, запускаемых вместе с AutoCAD может (!!!) установить Application.Visible в True. Так что не факт...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение