Одним из способов обойти это является небольшая настройка реестра.
Откройте редактор реестра, введя «RegEdit» в поиске Windows.Перейдите к следующей клавише (я использую AutoCAD 2015, поэтому найдите версию, которую вы используете).
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R20.0\ACAD-E005:409\Profiles\<<YourProfile>>\Variables
Теперь в ключе «Переменные» установите значение SECURELOAD
на 0
.Это отключит диалог безопасности.
В качестве альтернативы, вы можете добавить свой C:\ABC
в ваши надежные местоположения (но по общему признанию я имел смешанный успех с этим - я использую метод реестра).Вы можете установить надежное расположение вручную, открыв AutoCAD, выбрав «Параметры» -> «Файлы» -> «Добавить путь к« Надежным расположениям ».Вы также можете сделать то же самое с помощью взаимодействия (при необходимости).
Если вы хотите запустить команду, определенную в вашей dll, при запуске / открытии документа, лучший способ - добавить это в один из acad.lsp,acad2015.lsp, acaddoc.lsp и т. д. Эти сценарии выполняются при автоматическом запуске приложения / открытии документов AutoCAD
. Вы также можете использовать один из этих файлов lisp для загрузки вашей dll (в отличие от написания макроса),Например, это, вероятно, сделает это:
(COMMAND "NETLOAD" "C:\\ABC\\VbXyz.dll")
(COMMAND "MyCommandToRun")
Вот некоторая дополнительная информация об использовании AutoLisp для автоматического запуска команд из DLL.
Надеюсь, это поможет.