Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Autorun
Goto page Previous  1, 2, 3 ... 10, 11, 12 ... 130, 131, 132  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Thu Mar 03, 2011 19:41    Post subject: Reply with quote

Повторяю, при выполнении 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);

_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Mar 03, 2011 19:49    Post subject: Reply with quote

Я чрезвычайно редко использую cm_UnloadPlugins, поэтому описанные обстоятельства меня не пугают. Но раз предложен путь наладки самого плагина, то данный вопрос можно опустить.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Thu Mar 03, 2011 23:19    Post subject: Reply with quote

Посмотрел, подумал - идея интересная, что-то на работе сразу ее не понял. Можно добавить что-нибудь типа "AutorunBlockUnload", при ее наличии будет производиться блокировка выгрузки. Тогда параметр /T будет работать как надо. Попробую в праздники.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Tue Mar 08, 2011 00:03    Post subject: Reply with quote

Ну, в общем вот: скачать.

Следует отметить особенность завершения программ, запущенных с помощью ShellExecuteEx, которая используется сейчас. Если командой запускается ассоциированный файл, например html, и он открывается в уже запущенной копии браузера, то при завершении браузер закрыт не будет. С запуском программ проблем быть не должно.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Mar 08, 2011 01:09    Post subject: Reply with quote

Неплохо! Есть пару пожеланий:
1. запускать файлы в соответствии с внутренними ассоциациями ТС, если это возможно;
2. сделать команду только на закрытие по вероятности открытых программ.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Tue Mar 08, 2011 10:06    Post subject: Reply with quote

Flasher wrote:
Неплохо! Есть пару пожеланий:
1. запускать файлы в соответствии с внутренними ассоциациями ТС, если это возможно;

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

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

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

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

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

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

Не совсем ясно, какая команда может не использоваться - AutorunBlockUnload или ShellExec - возникает некоторая неоднозначность. Думаю, лучше было бы написать что-то вроде "По умолчанию блокировка выключена".
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Mar 08, 2011 15:01    Post subject: Reply with quote

MVV wrote:
А так ли нужно перегружать подобный плагин такой редкой функцией? Сюда прописывается лишь то, что действительно необходимо запускать при старте тотала, вряд ли сюда входят документы (для запуска которых можно прописать программу явно).
Насчёт перегружать - не понял. По конкретным файлам судить каждому юзеру в отдельности. Я не писал, что это именно документы должны быть.
MVV wrote:
Ты так часто убиваешь что-то при запуске тотала?
При запуске Тотала я ничего не убиваю. Зачем? Confused
MVV wrote:
А прямой запуск taskkill.exe чем плох?
А разве есть в autotun функция запуска чего-то при закрытии ТС? А плох как минимум тем, что консольный.
MVV wrote:
Хотя, в виде отдельных плагинов эти байды оформить можно было бы.
Сколько ещё таких "отдельно" ты нам волен предложить? Пока фантазия не кончится? Very Happy Уверен, что добиться описанного в autorun-e труда не составит, функционал для открываемых прог уже есть, почему же станет проблемой для потенциально открытых?
MVV wrote:
Вопрос в том, как много людей в них будут нуждаться - я точно не в их числе.
Когда ты допиливал tcfs2 по моим наводкам, так ли ты часто думал о многих? Wink
Раз ты о себе заговорил, отвечу тем же - мне эта возможность нужна в гораздо в большей степени, чем только появившаяся. У всех свои приоритеты. Носишь ТС на флешке, запускаешь ряд программ с неё же, уходишь - в спешке закрывать все программы лень, закрыл ТС - и приложения все закрылись. Это автоматизация, Виталий. Wink
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Tue Mar 08, 2011 15:35    Post subject: Reply with quote

Flasher wrote:
При запуске Тотала я ничего не убиваю. Зачем?

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

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

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

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

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


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

Предлагаешь поубирать всё, что я добавил с твоих наводок? Cool
И потом, не считая функции установки сепаратора все функции TCFS2 объединены общей идеей.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…


Last edited by MVV on Tue Mar 08, 2011 15:42; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Mar 08, 2011 15:41    Post subject: Reply with quote

MVV wrote:
А зачем тогда в авторане функция убийства чего-то?
Зачем спрашивать то, на что уже дан ответ?
MVV wrote:
А остальное спокойно можно убивать из батника, который будет вызывать при выходе мой плагинчик, описанный на предыдущей странице. Very Happy И этого консольного окна, свернутого в кнопку панели задач, ты даже заметить не успеешь.
Я против батников в таких делах, да и правку легче осуществлять в cfg.
MVV wrote:
совершенно не нужная большинству использующих плагин
Моё отношение к бездоказательным обобщениям ты знаешь. Дай автору самому разобраться, что да как...
MVV wrote:
Предлагаешь поубирать всё, что я добавил с твоих наводок?
Забавная шутка. Very Happy
MVV wrote:
И потом, не считая функции установки сепаратора все функции TCFS2 объединены общей идеей.
И как же эта идея называется? Уж точно не "FullScreen".
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Tue Mar 08, 2011 23:08    Post subject: Reply with quote

Flasher wrote:
запускать файлы в соответствии с внутренними ассоциациями ТС, если это возможно;

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

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

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

В общем, если уж и делать этот функционал, то я тоже склоняюсь к мысли об отдельном плагине. Не по отдельному для каждой функции, конечно, а что-то вроде библиотеки, например, Autorun_Process.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Mar 08, 2011 23:49    Post subject: Reply with quote

Loopback wrote:
Тут же надо огород городить.
Насколько это жертвенно? Цеплять хотя бы бесшаблонные маски получится?
Loopback wrote:
То, что сейчас есть, тут не поможет.
А если блокировать проги на полный запуск, но оставлять в памяти идентификаторы процессов для их последующего закрытия?
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 151

Post (Separately) Posted: Wed Mar 09, 2011 01:53    Post subject: Reply with quote

Loopback
Спасибо за долгожданный параметр /T
Потестировал на ряде программ.
Всё отлично завершается, но если программа отображается в трее, то после закрытия она продолжает визуально отображаться в трее, пока его не обновить, например провести мышкой по трею. Это известная проблема. Она так же наблюдается если закрывать программу через taskkill /F, но если использовать taskkill /T, то всё завершается более корректно.
Нельзя ли сделать завершение процесса, более "мягким" с завершением всех его дочерних процессов?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Mar 09, 2011 02:19    Post subject: Reply with quote

HA3APET wrote:
но если программа отображается в трее, то после закрытия она продолжает визуально отображаться в трее, пока его не обновить, например провести мышкой по трею. Это известная проблема.
Точно так же происходит, если убивать процессы из Диспетчера задач.
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 151

Post (Separately) Posted: Wed Mar 09, 2011 02:38    Post subject: Reply with quote

Flasher
Да, да. Но есть же положительный пример - taskkill /T
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Wed Mar 09, 2011 17:05    Post subject: Reply with quote

А я что-то пытался убить KatMouse.exe через taskkill с параметром /t - ни фига не дохнет. А с параметром /f (или /f /t) дохнет, и остается в трее иконка. Так что не думаю, что параметр /t как-то может помочь удалить иконку из трея, т.к. это проблема винды, что она при закрытии процессов не удаляет их значки из трея автоматически.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 10, 11, 12 ... 130, 131, 132  Next
Page 11 of 132

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group