View previous topic :: View next topic |
Author |
Message |
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Thu Mar 03, 2011 19:41 Post subject: |
|
|
Повторяю, при выполнении 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 |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Mar 03, 2011 19:49 Post subject: |
|
|
Я чрезвычайно редко использую cm_UnloadPlugins, поэтому описанные обстоятельства меня не пугают. Но раз предложен путь наладки самого плагина, то данный вопрос можно опустить. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Thu Mar 03, 2011 23:19 Post subject: |
|
|
Посмотрел, подумал - идея интересная, что-то на работе сразу ее не понял. Можно добавить что-нибудь типа "AutorunBlockUnload", при ее наличии будет производиться блокировка выгрузки. Тогда параметр /T будет работать как надо. Попробую в праздники. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Tue Mar 08, 2011 00:03 Post subject: |
|
|
Ну, в общем вот: скачать.
Следует отметить особенность завершения программ, запущенных с помощью ShellExecuteEx, которая используется сейчас. Если командой запускается ассоциированный файл, например html, и он открывается в уже запущенной копии браузера, то при завершении браузер закрыт не будет. С запуском программ проблем быть не должно. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 08, 2011 01:09 Post subject: |
|
|
Неплохо! Есть пару пожеланий:
1. запускать файлы в соответствии с внутренними ассоциациями ТС, если это возможно;
2. сделать команду только на закрытие по вероятности открытых программ. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Tue Mar 08, 2011 10:06 Post subject: |
|
|
Flasher wrote: | Неплохо! Есть пару пожеланий:
1. запускать файлы в соответствии с внутренними ассоциациями ТС, если это возможно; |
А так ли нужно перегружать подобный плагин такой редкой функцией? Сюда прописывается лишь то, что действительно необходимо запускать при старте тотала, вряд ли сюда входят документы (для запуска которых можно прописать программу явно). И по названию команда ShellExec запускает именно в оболочке Windows.
Кстати, хотелка для TC - внутренняя команда для запуска файла внутренней ассоциацией. В том числе чтобы можно было послать тоталу сообщение WM_COPYDATA с этой командой - это решило бы много проблем с запуском файлов посредством внутренних ассоциаций.
Flasher wrote: | 2. сделать команду только на закрытие по вероятности открытых программ. |
Ты так часто убиваешь что-то при запуске тотала?
А прямой запуск taskkill.exe чем плох?
Хотя, в виде отдельных плагинов эти байды оформить можно было бы. Вопрос в том, как много людей в них будут нуждаться - я точно не в их числе.
Loopback в Readme_ru wrote: | Полезно для использования ShellExec с ключом /T. Если команда не используется, блокировка выключена. |
Не совсем ясно, какая команда может не использоваться - AutorunBlockUnload или ShellExec - возникает некоторая неоднозначность. Думаю, лучше было бы написать что-то вроде "По умолчанию блокировка выключена". _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 08, 2011 15:01 Post subject: |
|
|
MVV wrote: | А так ли нужно перегружать подобный плагин такой редкой функцией? Сюда прописывается лишь то, что действительно необходимо запускать при старте тотала, вряд ли сюда входят документы (для запуска которых можно прописать программу явно). | Насчёт перегружать - не понял. По конкретным файлам судить каждому юзеру в отдельности. Я не писал, что это именно документы должны быть.
MVV wrote: | Ты так часто убиваешь что-то при запуске тотала? | При запуске Тотала я ничего не убиваю. Зачем?
MVV wrote: | А прямой запуск taskkill.exe чем плох? | А разве есть в autotun функция запуска чего-то при закрытии ТС? А плох как минимум тем, что консольный.
MVV wrote: | Хотя, в виде отдельных плагинов эти байды оформить можно было бы. | Сколько ещё таких "отдельно" ты нам волен предложить? Пока фантазия не кончится? Уверен, что добиться описанного в autorun-e труда не составит, функционал для открываемых прог уже есть, почему же станет проблемой для потенциально открытых?
MVV wrote: | Вопрос в том, как много людей в них будут нуждаться - я точно не в их числе. | Когда ты допиливал tcfs2 по моим наводкам, так ли ты часто думал о многих?
Раз ты о себе заговорил, отвечу тем же - мне эта возможность нужна в гораздо в большей степени, чем только появившаяся. У всех свои приоритеты. Носишь ТС на флешке, запускаешь ряд программ с неё же, уходишь - в спешке закрывать все программы лень, закрыл ТС - и приложения все закрылись. Это автоматизация, Виталий. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Tue Mar 08, 2011 15:35 Post subject: |
|
|
Flasher wrote: | При запуске Тотала я ничего не убиваю. Зачем? |
А зачем тогда в авторане функция убийства чего-то?
Quote: | А разве есть в autotun функция запуска чего-то при закрытии ТС? А плох как минимум тем, что консольный. |
Того, что авторан запускает - есть. А остальное спокойно можно убивать из батника, который будет вызывать при выходе мой плагинчик, описанный на предыдущей странице.
И этого консольного окна, свернутого в кнопку панели задач, ты даже заметить не успеешь.
Quote: | Сколько ещё таких "отдельно" ты нам волен предложить? Пока фантазия не кончится? Уверен, что добиться описанного в autorun-e труда не составит, функционал для открываемых прог уже есть, почему же станет проблемой для потенциально открытых? |
Для открываемых система возвращает дескриптор, по которому можно не отходя от кассы завершить запущенный процесс. А по всем остальным - нужно перебирать процессы, фильтровать и т.п., это совсем другая песня, совершенно не нужная большинству использующих плагин. К тому же, уже есть способы решить эту проблему.
Flasher wrote: | Когда ты допиливал tcfs2 по моим наводкам, так ли ты часто думал о многих? |
Предлагаешь поубирать всё, что я добавил с твоих наводок?
И потом, не считая функции установки сепаратора все функции 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 |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 08, 2011 15:41 Post subject: |
|
|
MVV wrote: | А зачем тогда в авторане функция убийства чего-то? | Зачем спрашивать то, на что уже дан ответ?
MVV wrote: | А остальное спокойно можно убивать из батника, который будет вызывать при выходе мой плагинчик, описанный на предыдущей странице. И этого консольного окна, свернутого в кнопку панели задач, ты даже заметить не успеешь. | Я против батников в таких делах, да и правку легче осуществлять в cfg.
MVV wrote: | совершенно не нужная большинству использующих плагин | Моё отношение к бездоказательным обобщениям ты знаешь. Дай автору самому разобраться, что да как...
MVV wrote: | Предлагаешь поубирать всё, что я добавил с твоих наводок? | Забавная шутка.
MVV wrote: | И потом, не считая функции установки сепаратора все функции TCFS2 объединены общей идеей. | И как же эта идея называется? Уж точно не "FullScreen". |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Tue Mar 08, 2011 23:08 Post subject: |
|
|
Flasher wrote: | запускать файлы в соответствии с внутренними ассоциациями ТС, если это возможно; |
Теоретически можно. Но дело в том, что функциональность запуска ассоциированных в системе файлов обеспечивается системной функцией, и я, в общем-то, считаю это очень второстепенным - есть и ладно. Тут же надо огород городить.
Flasher wrote: | сделать команду только на закрытие по вероятности открытых программ. |
Flasher wrote: | Уверен, что добиться описанного в autorun-e труда не составит, функционал для открываемых прог уже есть, почему же станет проблемой для потенциально открытых? |
Как верно заметил MVV, это действительно другая песня. То, что сейчас есть, тут не поможет.
В общем, если уж и делать этот функционал, то я тоже склоняюсь к мысли об отдельном плагине. Не по отдельному для каждой функции, конечно, а что-то вроде библиотеки, например, Autorun_Process. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Mar 08, 2011 23:49 Post subject: |
|
|
Loopback wrote: | Тут же надо огород городить. | Насколько это жертвенно? Цеплять хотя бы бесшаблонные маски получится?
Loopback wrote: | То, что сейчас есть, тут не поможет. | А если блокировать проги на полный запуск, но оставлять в памяти идентификаторы процессов для их последующего закрытия? |
|
Back to top |
|
|
HA3APET
Joined: 22 Feb 2010 Posts: 151
|
(Separately) Posted: Wed Mar 09, 2011 01:53 Post subject: |
|
|
Loopback
Спасибо за долгожданный параметр /T
Потестировал на ряде программ.
Всё отлично завершается, но если программа отображается в трее, то после закрытия она продолжает визуально отображаться в трее, пока его не обновить, например провести мышкой по трею. Это известная проблема. Она так же наблюдается если закрывать программу через taskkill /F, но если использовать taskkill /T, то всё завершается более корректно.
Нельзя ли сделать завершение процесса, более "мягким" с завершением всех его дочерних процессов? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Mar 09, 2011 02:19 Post subject: |
|
|
HA3APET wrote: | но если программа отображается в трее, то после закрытия она продолжает визуально отображаться в трее, пока его не обновить, например провести мышкой по трею. Это известная проблема. | Точно так же происходит, если убивать процессы из Диспетчера задач. |
|
Back to top |
|
|
HA3APET
Joined: 22 Feb 2010 Posts: 151
|
(Separately) Posted: Wed Mar 09, 2011 02:38 Post subject: |
|
|
Flasher
Да, да. Но есть же положительный пример - taskkill /T |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
|
|
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
|