Autorun

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

ask-rus,
А ты попробуй изменить экзешник или библиотеку, загруженную в память. Сохранить не сможешь, а переименовать - легко (впрочем, в некоторых случаях даже переименовать нельзя). Операционная система позволяет. То же и тут.
Значит, cm_UnloadPlugins должна помочь.
Неа. :) Autorun не выгружается этой командой.

И вообще, шрифты не выгрузишь, пока хоть кто-то их использует. Не всё так просто.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

MVV
Точно не выгружается? Так-то прога сохраняет измененный шрифт после cm_UnloadPlugins, два раза проверил.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Вроде добавляли защиту от выгрузки, по идее не должен.

Ну раз помогает, тогда в чем проблема? :)
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Последний эксперимент.

- Шрифт загружен плагином;
- Шрифт задействован в файл. панелях;
- Изменяю шрифт программой, сохраняю - фиг;
- Изменяю шрифт программой, cm_UnloadPlugins, сохраняю - браво;
- Смотрю файл. панели и уже вижу изменения, даже перезапускать не пришлось.

Как так...

Добавлено спустя 12 минут:

Вроде всё здорово, погляжу как будет после перезагрузки Windows. Слишком всё гладко, до этого чего только не было.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Странно, конечно, что изменения применяются так быстро. Но попытаться объяснить можно. При обновлении содержимого панели тотал загружает Autorun вновь (если он действительно выгружался - можно проверить диспетчером задач типа Process Explorer), следовательно, загружаются и шрифты.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Перезапуск TC всё-таки требуется, там был какой-то глюк явно. С выгрузкой по команде шрифт файл. панелей сбрасывается на один из стандартных Windows.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

MVV писал(а):Вроде добавляли защиту от выгрузки, по идее не должен.
Она отдельной командой активируется, по-умолчанию выгрузка возможна.

ask-rus
[s]Видимо ты успеваешь сохранить шрифт до обновления окна тотала и повторной загрузки плагина. Ну и хорошо, раз получается.[/s]

Опоздал...
Последний раз редактировалось Loopback Сб ноя 17, 2012 21:44, всего редактировалось 1 раз.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

С выгрузкой по команде шрифт файл. панелей сбрасывается на один из стандартных Windows.
Вот этого я ожидал. Впрочем, раз глюк был, возможно, можно как-то успеть загрузить шрифт до того как тотал заметит, что он недоступен.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Это был не глюк, значит, я успевал сохранить шрифт до обновления окна TC и повторной загрузки плагина (зачеркнуто Loopback-ом). Редактирую шрифт, cm_UnloadPlugins, сохраняю шрифт и перезапускаю TC - такой порядок меня устраивает, проблема иссякла.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Девятая бета.

Скачать

Код: Выделить всё

+ функция FileExist
* оптимизирован код, слегка уменьшен размер плагина
* внутренние переменные могут принимать пустое значение
Вроде на данном этапе все хотелки учел?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Вроде на данном этапе все хотелки учел?
Была ещё старая тема по закрытию запущенных из плагина процессов при закрытии ТС.
Ещё такое было пожелание.
И можно ещё FolderExist, раз FileExist есть?
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Была ещё старая тема по закрытию запущенных из плагина процессов при закрытии ТС.
Не понял, а ShellExec с ключом /T разве это не делает?
Flasher писал(а):Ещё такое было пожелание.
Так теперь можно выполнять действия на выходе.
Flasher писал(а):И можно ещё FolderExist, раз FileExist есть?
FileExist работает с каталогами. Надо только, чтобы имя проверяемого каталога не заканчивалось на "". Кстати да, нужно сделать, чтобы функция сама убирала слэш с конца.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Не понял, а ShellExec с ключом /T разве это не делает?
А, пардон, не из плагина, а вообще любые, включая отдельные скрипты, вызванные через интерпретатор.
Loopback писал(а):Так теперь можно выполнять действия на выходе.
Где? Не могу найти такой команды.
Можно пару примеров с dll/inf/скриптом?
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):А, пардон, не из плагина, а вообще любые, включая отдельные скрипты, вызванные через интерпретатор.
ProcessTerminate. Нужно подключить плагин Process.

Насчет "любых скриптов" нет, для этого надо получать полную командную строку приложения и как-то сравнивать ее.


Flasher писал(а):Где? Не могу найти такой команды.
Можно пару примеров с dll/inf/скриптом?
Все есть в справке. Секция "на выходе" отделяется от основной директивой #FinalizeSection. Вот пример для регистрации/разрегистрации:

Код: Выделить всё


ShellExec regsvr32.exe "mydll.dll"

#FinalizeSection

ShellExec regsvr32.exe "/u mydll.dll"

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):ProcessTerminate. Нужно подключить плагин Process.
Это я видел, только мне надо было именно при закрытии.
Loopback писал(а):Все есть в справке. Секция "на выходе" отделяется от основной директивой #FinalizeSection.
Вот другое дело. Только в справке это располагается в разделе "Планы", поэтому я не придал этому значения.
Буду пробовать. Получается плагин будет начинать поиск с решётки? Может, стоит взять другой символ, чтобы не проверять строки комментариев?
Ответить