Автоматическая замена АПИ (cui) (ACAD, LISP)
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Автоматическая замена АПИ (cui) (ACAD, LISP)

Автоматическая замена АПИ (cui) (ACAD, LISP)

Ответ
Поиск в этой теме
Непрочитано 16.03.2012, 11:18 #1
Автоматическая замена АПИ (cui) (ACAD, LISP)
EfremenkoDO
 
Санкт-Петербург
Регистрация: 24.12.2009
Сообщений: 59

Всем, Здравствуйте!
Есть код на lisp, который заменяет интерфейсы на клиентских машинах из расшареной папки. Алгоритм следующий

1. Выгружаем cui через команду (command "_.cuiunload" "MyCUI")
2. В папке с cui заменяем все файлы на те, которые в расшареной папке
3. Загружаем cui через команду (command "_.cuiload" "MyCUI")

И так с несколькими файлами АПИ.

Все работало хорошо пока не было произведено переименование вкладок на ленте в нашем интерфейсе. Теперь отображаются вкладки со старым названием и с новым. Плюс на одной из панелей пропало отображение иконок. Руками исправить не проблема, а вот, как бы это все исправить при помощи lisp?

Можно ли заставить ACAD перезагрузить только пользовательские интерфейсы?
Просмотров: 6443
 
Непрочитано 16.03.2012, 11:32
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426


mnr-файлы удаляешь?
И, может быть, поможет http://autolisp.ru/2011/09/23/about_corporatemenu/
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 16.03.2012, 12:38
#3
EfremenkoDO


 
Регистрация: 24.12.2009
Санкт-Петербург
Сообщений: 59
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
mnr-файлы удаляешь?
Удаляю

Тут еще один момент есть, о котором я забыл упомянуть, может он важен. Произошло слияние двух АПИ в одну. Были по отдельности Панель_1 и Панель_2 Теперь стала Общая_Панель и на ленте отображаются все три вкладки.

Может есть возможность добраться до рабочих пространств программно?
EfremenkoDO вне форума  
 
Непрочитано 16.03.2012, 12:49
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426


Можно. Текущее рабочее пространство - wscurrent. Ну или парсить acad.cui / cuix...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 30.12.2012, 11:26
#5
Кристина1991


 
Регистрация: 30.12.2012
Сообщений: 5


Здравствуйте!
Подскажите,как можно установить пароль на файл с расширением .cui?
Кристина1991 вне форума  
 
Непрочитано 30.12.2012, 11:50
#6
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от EfremenkoDO
Автоматическая замена АПИ (cui)...
И так с несколькими файлами АПИ.
Offtop: Топикстартет путает понятие "АПИ" (правильно пишется как "API") с понятием CUI. Несколько настораживает тот факт, что никто ему об этом не сообщил... Складывается впечатление, что ни один он путает круглое с пушистым...
API - Application Program Interface, т.е. программный интерфейс приложения (никакого отношения к графическому интерфейсу не имеет).
CUI - Custom User Interface - настраиваемый пользовательский интерфейс - похоже, что это как раз то, что под "АПИ" подразумевает топикстартер...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 30.12.2012 в 11:55.
hwd вне форума  
 
Непрочитано 30.12.2012, 13:30
#7
Кристина1991


 
Регистрация: 30.12.2012
Сообщений: 5


Так я могу на свой новый интерфейс установить пароль?
Кристина1991 вне форума  
 
Непрочитано 30.12.2012, 13:36
#8
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Кристина1991 Посмотреть сообщение
Так я могу на свой новый интерфейс установить пароль?
CUI файл - это на самом деле архив. Можешь переименовать расширение на ZIP и заглянуть в него. Если хочешь - можешь поставить пароль на этот архив. Только вряд ли AutoCAD сможет воспользоваться таким CUI
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 30.12.2012, 14:24
#9
Psyakrev


 
Регистрация: 17.06.2010
Сообщений: 438


Цитата:
Сообщение от hwd Посмотреть сообщение
Offtop: Топикстартет путает понятие "АПИ" (правильно пишется как "API") с понятием CUI. Несколько настораживает тот факт, что никто ему об этом не сообщил... Складывается впечатление, что ни один он путает круглое с пушистым...
API - Application Program Interface, т.е. программный интерфейс приложения (никакого отношения к графическому интерфейсу не имеет).
CUI - Custom User Interface - настраиваемый пользовательский интерфейс - похоже, что это как раз то, что под "АПИ" подразумевает топикстартер...
В локализованном Автокаде под аббревиатурой АПИ понимается "Адаптация пользовательского интерфейса" - см. справку
Psyakrev вне форума  
 
Непрочитано 30.12.2012, 14:44
#10
Кристина1991


 
Регистрация: 30.12.2012
Сообщений: 5


аа)) вот теперь дошло)))
спасибо большое!!
И с наступающим!
Кристина1991 вне форума  
 
Непрочитано 30.12.2012, 15:02
#11
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426


hwd, cui - не архив, в отличие от cuix.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 30.12.2012, 17:55
#12
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
hwd, cui - не архив, в отличие от cuix.
а блин... да, я писал про CUI, думая про CUIX... перепутал
Цитата:
Сообщение от Psyakrev
В локализованном Автокаде под аббревиатурой АПИ понимается "Адаптация пользовательского интерфейса"
Ясно, русской локализации у меня нет. Тогда это не самый удачный перевод от Автодеска, поскольку способствует двусмысленности, имхо. Программисты, когда слышат "АПИ", скорее представляют это в форме "API", хотя может это моё субъективное восприятие...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 30.12.2012 в 18:02.
hwd вне форума  
 
Непрочитано 30.12.2012, 21:07
#13
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Вообще-то API переводится как ИПП, а Апи - это вулкан в Индонезии...
gomer вне форума  
 
Непрочитано 03.01.2013, 13:51
#14
Кристина1991


 
Регистрация: 30.12.2012
Сообщений: 5


МНе нужно создать новый интерфейс и, чтобы при его открытии запрашивался пароль.
Так как мне это сделать?)
Кристина1991 вне форума  
 
Непрочитано 03.01.2013, 13:53
#15
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Кристина1991 Посмотреть сообщение
МНе нужно создать новый интерфейс и, чтобы при его открытии запрашивался пароль.
Так как мне это сделать?)
Насколько мне известно, "родными" средствами AutoCAD - никак. Программно можно, но зачем?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 03.01.2013, 14:15
#16
Кристина1991


 
Регистрация: 30.12.2012
Сообщений: 5


Вот я тоже думаю,может через Lisp?
Так чтобы при введении определенной функции открывался этот файл и запрашивался пароль.
Это для курсовой работы
Кристина1991 вне форума  
 
Непрочитано 03.01.2013, 16:23
#17
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426


Охота пофлудить - марш в чат!
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.01.2013, 19:17
#18
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Кристина1991 Посмотреть сообщение
Это для курсовой работы
Offtop: Какое-то бессмысленное задание - камень в огород того, кто ставит подобного рода "задачи"... Уж лучше бы полезное что-то задавали.

Непосредственно из запароленного архива загрузить не сможешь, насколько мне известно, однако, как вариант, решить можно так:

1. Сначала упаковываешь свой CUI/CUIX (менюшку) в архив, на который ставишь пароль. Всё, что перечислено далее - делаешь уже программно.
2. Пишешь команду, загружающую меню из запароленного архива. Логика команды будет следующая:

2.1. предварительно запросив у юзера пароль и проверив его, распаковываешь архив во временный каталог (например в Temp\AcMenu).
2.2. В Support Search Path добавляешь запись для этого каталога.
2.3. Загружаешь в AutoCAD из каталога, обозначенного в 2.1, свою менюшку.
2.4. Подписываешься на событие закрытия AutoCAD.
2.5. В коде обработки события закрытия AutoCAD, выгружаешь свою меню и удаляешь каталог, созданный в 2.1., а так же удаляешь ранее добавленную запись в Support Search Path.

Резюме:
Только всё это, как говорит наш начальник отдела IT - "гомосятина", поскольку это нихрена не защита. Весь "взлом" сводится к тому, чтобы банально скопировать каталог из 2.1. до закрытия AutoCAD, тем самым не заморачиваясь с подборкой пароля. Вот если бы AutoCAD умел читать менюшки из потока - вот тогда можно было бы действенную защиту менюшек написать. Да и вообще, защиту ставить нужно не на менюшки, а на функционал - вот это как раз реально (менюшки без функционала не стоят ничего)... А так, то, что задал препод - бесполезная работа. Преподавателю, ставящему столь "полезные" задания, физкульт привет...

Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Охота пофлудить - марш в чат!
Не с той ноги встал? Вообще-то я вроде как по вопросу и отвечаю... Или у тебя уже всё, что не является готовым кодом, за юзера решающим задачу - это флуд? Вопрос риторический...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 03.01.2013 в 19:41.
hwd вне форума  
 
Непрочитано 03.01.2013, 19:41
#19
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,466


Цитата:
Сообщение от hwd Посмотреть сообщение
Не с той ноги встал? Вообще-то я вроде как по вопросу и отвечаю...
Offtop: Это было не тебе, а в адрес авторов удаленных сообщений
Admin вне форума  
 
Непрочитано 03.01.2013, 19:42
#20
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Admin Посмотреть сообщение
Это было не тебе, а в адрес авторов удаленных сообщений
Offtop: не видел их, извиняюсь.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 11.01.2013, 12:56
#21
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


по основной теме:

Сразу оговорюсь, не проверял...
Думаю можно грузить cui файл не с локального диска или сетевого, а напрямую с ftp.
короче, кладем на запароленный ftp свой файл меню и прописываем в загрузку добавление к адресу пары имя/пароль из запроса у пользователя.

формат передачи пути с паролем:
ftp://UserName:MyPassword@ftp.test.com/MySuperMenu.cui
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны.
/Сунь Цзы/
Елпанов Евгений вне форума  
 
Непрочитано 11.01.2013, 13:05
#22
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


1. В составе CUI файлов нередко используются различного рода ресурсы, вроде иконок. Соответственно AutoCAD их должен как-то находить. Предлагаешь в Support Search Path добавить ссылку на FTP?
2. Какой смысл хранить запароленный CUI где-то на FTP, передавая открытым текстом пароль? В чём защита-то?

Offtop: Я вообще не понимаю, зачем автору велосипед с установкой пароля на CUI... имхо неправильный путь решения обусловлен тем, что он толком сам не понимает что ему нужно. Не на то он пытается защиту прикрутить, как я уже писал выше.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 11.01.2013, 13:36
#23
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


вопрос был о защите cui файла, про картинки вопросов небыло...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны.
/Сунь Цзы/
Елпанов Евгений вне форума  
 
Непрочитано 11.01.2013, 13:44
#24
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Елпанов Евгений Посмотреть сообщение
про картинки вопросов небыло...
Про использование CUI, размещённого на FTP - тоже вопроса не было, однако ты ведь его предлагаешь... Использование CUI всегда предполагает возможность использования ресурсов, поэтому данный момент всегда следует учитывать. Даже если не используют сегодня, завтра могут захотеть использовать. имхо
Цитата:
Сообщение от Елпанов Евгений Посмотреть сообщение
вопрос был о защите cui файла, про картинки вопросов небыло...
даже если откинуть в стороны проблемы с ресурсами - второй, обозначенный мною выше пункт остаётся в силе: передача пароля открытым текстом - это весьма сомнительная защита. опять же - имхо...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 11.01.2013, 13:58
#25
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
даже если откинуть в стороны проблемы с ресурсами - второй, обозначенный мною выше пункт остаётся в силе: передача пароля открытым текстом - это весьма сомнительная защита. опять же - имхо...
не согласен. В условии задачи было - пользователь вводит пароль и после грузится меню. Для последующих загрузок необходимо заново вводить пароль.
В моем варианте нет смысла скрывать пароль от пользователя - он его только что ввел.
Про защиту пароля от перехвата в сети, так же нет задачи.
Программу взламывать безсмысленно - в программе не хранится пароль...

Если бы я был на месте профессора, меня бы такое решение устроило!
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны.
/Сунь Цзы/
Елпанов Евгений вне форума  
 
Непрочитано 11.01.2013, 14:16
#26
Psyakrev


 
Регистрация: 17.06.2010
Сообщений: 438


А может так - компилируем vlx-приложение, которое запрашивает пароль и в случае правильного ввода грузит требуемое меню? Для большей извращенности можно попробовать создавать меню на лету.
Psyakrev вне форума  
 
Непрочитано 11.01.2013, 14:18
#27
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


а что мешает "злодею" загрузить его вручную? Или что "злодею" мешает запустить команды этого меню непосредственно из командной строки автокада? Не менюшку нужно защищать, а сам функционал, через эту менюшку вызываемый.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 11.01.2013, 14:25
#28
Psyakrev


 
Регистрация: 17.06.2010
Сообщений: 438


Цитата:
Сообщение от hwd Посмотреть сообщение
а что мешает "злодею" загрузить его вручную? Или что "злодею" мешает запустить команды этого меню непосредственно из командной строки автокада? Не менюшку нужно защищать, а сам функционал, через эту менюшку вызываемый.
Условия задачи требовали загрузки меню после ввода пароля . Функционал можно защитить похожим образом - компилируем все в vlx, в каждую функцию добавляем в начале функцию проверки пароля (чтобы не вводить его каждый раз, можно формировать контрольное значение и сохранять его в глобальной переменной). Какая задача, такое и решение.
Psyakrev вне форума  
 
Непрочитано 11.01.2013, 14:28
#29
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Psyakrev Посмотреть сообщение
Какая задача, такое и решение.
Не спорю. Я о том, что автор изначально не корректно подходит к вопросу о защите - не то защищает (имхо).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 11.01.2013, 14:51
#30
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™




полностью согласен, правильнее было бы открытое меню, но шифрованные строки на выполнение, передаваемые в программу предварительной дешифрации по паролю. Пароль, действительно можно хранить в текущей сессии...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны.
/Сунь Цзы/
Елпанов Евгений вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Автоматическая замена АПИ (cui) (ACAD, LISP)

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Замена текстового стиля VVA Готовые программы 322 28.05.2025 09:59
Вопросы чайника: работа с файлами АПИ (cui) extraneous AutoCAD 11 15.03.2016 20:47
Реакторы в ACAD x64 (LISP, ACAD '09 - '10) EfremenkoDO LISP 12 13.10.2010 23:52
связать параметризацию в ACAD 2010 и lisp Denis777 LISP 5 09.11.2009 20:52
ACAD LT + lisp / vba Кулик Алексей aka kpblc LISP 16 30.03.2006 22:04