Autorun
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 10, 11, 12 ... 133, 134, 135  Next  :| |:
Total Commander -> Плагины Total Commander

#151:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Mar 03, 2011 19:41
    —
Повторяю, при выполнении cm_UnloadPlugins плагин Autorun.wdx будет выгружен, после чего при смене папки в тотале он будет опять загружен самим тоталом. И при новом вызове cm_UnloadPlugins или при закрытии тотала плагин снова будет выгружен.

Если добавлять утилиты для загрузки и выгрузки в Autorun.wdx, они будут загружаться и выгружаться соответственно вместе с плагином.

В то время как модуль, который увеличивает счетчик ссылок на себя, загружается лишь однажды при первой загрузке плагина Autorun.wdx, и выгружается тоже ровно 1 раз - при закрытии тотала, когда система выгружает все модули.

Кстати, как вариант, предлагаю автору добавить в плагин команду для увеличения числа ссылок на себя - тогда плагину станут не страшны выгрузки через cm_UnloadPlugins, ну и ключ /T тогда будет более полезным, как и запуск утилит, которые должны работать в фоне тотала. А делается это элементарно:
Code:
         wchar_t libname[1024];
         GetModuleFileName(hModule, libname, TSIZE(libname));
         LoadLibrary(libname);

#152:  Author: FlasherLocation: Москва PostPosted: Thu Mar 03, 2011 19:49
    —
Я чрезвычайно редко использую cm_UnloadPlugins, поэтому описанные обстоятельства меня не пугают. Но раз предложен путь наладки самого плагина, то данный вопрос можно опустить.

#153:  Author: Loopback PostPosted: Thu Mar 03, 2011 23:19
    —
Посмотрел, подумал - идея интересная, что-то на работе сразу ее не понял. Можно добавить что-нибудь типа "AutorunBlockUnload", при ее наличии будет производиться блокировка выгрузки. Тогда параметр /T будет работать как надо. Попробую в праздники.

#154:  Author: Loopback PostPosted: Tue Mar 08, 2011 00:03
    —
Ну, в общем вот: скачать.

Следует отметить особенность завершения программ, запущенных с помощью ShellExecuteEx, которая используется сейчас. Если командой запускается ассоциированный файл, например html, и он открывается в уже запущенной копии браузера, то при завершении браузер закрыт не будет. С запуском программ проблем быть не должно.

#155:  Author: FlasherLocation: Москва PostPosted: Tue Mar 08, 2011 01:09
    —
Неплохо! Есть пару пожеланий:
1. запускать файлы в соответствии с внутренними ассоциациями ТС, если это возможно;
2. сделать команду только на закрытие по вероятности открытых программ.

#156:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Mar 08, 2011 10:06
    —
Flasher wrote:
Неплохо! Есть пару пожеланий:
1. запускать файлы в соответствии с внутренними ассоциациями ТС, если это возможно;

А так ли нужно перегружать подобный плагин такой редкой функцией? Сюда прописывается лишь то, что действительно необходимо запускать при старте тотала, вряд ли сюда входят документы (для запуска которых можно прописать программу явно). И по названию команда ShellExec запускает именно в оболочке Windows.

Кстати, хотелка для TC - внутренняя команда для запуска файла внутренней ассоциацией. В том числе чтобы можно было послать тоталу сообщение WM_COPYDATA с этой командой - это решило бы много проблем с запуском файлов посредством внутренних ассоциаций.

Flasher wrote:
2. сделать команду только на закрытие по вероятности открытых программ.

Ты так часто убиваешь что-то при запуске тотала? Rolling Eyes
А прямой запуск taskkill.exe чем плох?

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

Loopback в Readme_ru wrote:
Полезно для использования ShellExec с ключом /T. Если команда не используется, блокировка выключена.

Не совсем ясно, какая команда может не использоваться - AutorunBlockUnload или ShellExec - возникает некоторая неоднозначность. Думаю, лучше было бы написать что-то вроде "По умолчанию блокировка выключена".

#157:  Author: FlasherLocation: Москва PostPosted: Tue Mar 08, 2011 15:01
    —
MVV wrote:
А так ли нужно перегружать подобный плагин такой редкой функцией? Сюда прописывается лишь то, что действительно необходимо запускать при старте тотала, вряд ли сюда входят документы (для запуска которых можно прописать программу явно).
Насчёт перегружать - не понял. По конкретным файлам судить каждому юзеру в отдельности. Я не писал, что это именно документы должны быть.
MVV wrote:
Ты так часто убиваешь что-то при запуске тотала?
При запуске Тотала я ничего не убиваю. Зачем? Confused
MVV wrote:
А прямой запуск taskkill.exe чем плох?
А разве есть в autotun функция запуска чего-то при закрытии ТС? А плох как минимум тем, что консольный.
MVV wrote:
Хотя, в виде отдельных плагинов эти байды оформить можно было бы.
Сколько ещё таких "отдельно" ты нам волен предложить? Пока фантазия не кончится? Very Happy Уверен, что добиться описанного в autorun-e труда не составит, функционал для открываемых прог уже есть, почему же станет проблемой для потенциально открытых?
MVV wrote:
Вопрос в том, как много людей в них будут нуждаться - я точно не в их числе.
Когда ты допиливал tcfs2 по моим наводкам, так ли ты часто думал о многих? Wink
Раз ты о себе заговорил, отвечу тем же - мне эта возможность нужна в гораздо в большей степени, чем только появившаяся. У всех свои приоритеты. Носишь ТС на флешке, запускаешь ряд программ с неё же, уходишь - в спешке закрывать все программы лень, закрыл ТС - и приложения все закрылись. Это автоматизация, Виталий. Wink

#158:  Author: MVVLocation: Ростов-Дон PostPosted: Tue Mar 08, 2011 15:35
    —
Flasher wrote:
При запуске Тотала я ничего не убиваю. Зачем?

А зачем тогда в авторане функция убийства чего-то? Very Happy

Quote:
А разве есть в autotun функция запуска чего-то при закрытии ТС? А плох как минимум тем, что консольный.

Того, что авторан запускает - есть. А остальное спокойно можно убивать из батника, который будет вызывать при выходе мой плагинчик, описанный на предыдущей странице. Very Happy
И этого консольного окна, свернутого в кнопку панели задач, ты даже заметить не успеешь. Cool

Quote:
Сколько ещё таких "отдельно" ты нам волен предложить? Пока фантазия не кончится? Уверен, что добиться описанного в autorun-e труда не составит, функционал для открываемых прог уже есть, почему же станет проблемой для потенциально открытых?

Для открываемых система возвращает дескриптор, по которому можно не отходя от кассы завершить запущенный процесс. А по всем остальным - нужно перебирать процессы, фильтровать и т.п., это совсем другая песня, совершенно не нужная большинству использующих плагин. К тому же, уже есть способы решить эту проблему. Smile


Flasher wrote:
Когда ты допиливал tcfs2 по моим наводкам, так ли ты часто думал о многих?

Предлагаешь поубирать всё, что я добавил с твоих наводок? Cool
И потом, не считая функции установки сепаратора все функции TCFS2 объединены общей идеей.


Last edited by MVV on Tue Mar 08, 2011 15:42; edited 1 time in total

#159:  Author: FlasherLocation: Москва PostPosted: Tue Mar 08, 2011 15:41
    —
MVV wrote:
А зачем тогда в авторане функция убийства чего-то?
Зачем спрашивать то, на что уже дан ответ?
MVV wrote:
А остальное спокойно можно убивать из батника, который будет вызывать при выходе мой плагинчик, описанный на предыдущей странице. Very Happy И этого консольного окна, свернутого в кнопку панели задач, ты даже заметить не успеешь.
Я против батников в таких делах, да и правку легче осуществлять в cfg.
MVV wrote:
совершенно не нужная большинству использующих плагин
Моё отношение к бездоказательным обобщениям ты знаешь. Дай автору самому разобраться, что да как...
MVV wrote:
Предлагаешь поубирать всё, что я добавил с твоих наводок?
Забавная шутка. Very Happy
MVV wrote:
И потом, не считая функции установки сепаратора все функции TCFS2 объединены общей идеей.
И как же эта идея называется? Уж точно не "FullScreen".

#160:  Author: Loopback PostPosted: Tue Mar 08, 2011 23:08
    —
Flasher wrote:
запускать файлы в соответствии с внутренними ассоциациями ТС, если это возможно;

Теоретически можно. Но дело в том, что функциональность запуска ассоциированных в системе файлов обеспечивается системной функцией, и я, в общем-то, считаю это очень второстепенным - есть и ладно. Тут же надо огород городить.
Flasher wrote:
сделать команду только на закрытие по вероятности открытых программ.

Flasher wrote:
Уверен, что добиться описанного в autorun-e труда не составит, функционал для открываемых прог уже есть, почему же станет проблемой для потенциально открытых?

Как верно заметил MVV, это действительно другая песня. То, что сейчас есть, тут не поможет.

В общем, если уж и делать этот функционал, то я тоже склоняюсь к мысли об отдельном плагине. Не по отдельному для каждой функции, конечно, а что-то вроде библиотеки, например, Autorun_Process.

#161:  Author: FlasherLocation: Москва PostPosted: Tue Mar 08, 2011 23:49
    —
Loopback wrote:
Тут же надо огород городить.
Насколько это жертвенно? Цеплять хотя бы бесшаблонные маски получится?
Loopback wrote:
То, что сейчас есть, тут не поможет.
А если блокировать проги на полный запуск, но оставлять в памяти идентификаторы процессов для их последующего закрытия?

#162:  Author: HA3APET PostPosted: Wed Mar 09, 2011 01:53
    —
Loopback
Спасибо за долгожданный параметр /T
Потестировал на ряде программ.
Всё отлично завершается, но если программа отображается в трее, то после закрытия она продолжает визуально отображаться в трее, пока его не обновить, например провести мышкой по трею. Это известная проблема. Она так же наблюдается если закрывать программу через taskkill /F, но если использовать taskkill /T, то всё завершается более корректно.
Нельзя ли сделать завершение процесса, более "мягким" с завершением всех его дочерних процессов?

#163:  Author: FlasherLocation: Москва PostPosted: Wed Mar 09, 2011 02:19
    —
HA3APET wrote:
но если программа отображается в трее, то после закрытия она продолжает визуально отображаться в трее, пока его не обновить, например провести мышкой по трею. Это известная проблема.
Точно так же происходит, если убивать процессы из Диспетчера задач.

#164:  Author: HA3APET PostPosted: Wed Mar 09, 2011 02:38
    —
Flasher
Да, да. Но есть же положительный пример - taskkill /T

#165:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Mar 09, 2011 17:05
    —
А я что-то пытался убить KatMouse.exe через taskkill с параметром /t - ни фига не дохнет. А с параметром /f (или /f /t) дохнет, и остается в трее иконка. Так что не думаю, что параметр /t как-то может помочь удалить иконку из трея, т.к. это проблема винды, что она при закрытии процессов не удаляет их значки из трея автоматически.



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 10, 11, 12 ... 133, 134, 135  Next  :| |:
Page 11 of 135

Powered by phpBB © 2001, 2005 phpBB Group