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 ... 11, 12, 13 ... 131, 132, 133  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Loopback



Joined: 07 Sep 2009
Posts: 1279

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

Flasher wrote:
Насколько это жертвенно? Цеплять хотя бы бесшаблонные маски получится?

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

Вообще, как раз эти дела лучше бы делать скриптом... там где есть полноценные переменные и много нужных функций.
Autorun задумывался только для выполнения команд при автозапуске, не при завершении. Чтобы красиво и прозрачно реализовывать такие задумки, нужно вводить такое понятие, как "событие - завершение тотала". И в этом блоке писать завершающие операции. Само-собой, это потребует переписать изрядную часть кода.
HA3APET wrote:
Нельзя ли сделать завершение процесса, более "мягким" с завершением всех его дочерних процессов?

Я бы не назвал это "мягким" или чем-то в этом роде. Ведь в этом случае просто дополнительно убиваются процессы, вызванные из родительского. Это больше похоже на лечение насморка гильотиной.
Поиск кое-что дал по этому вопросу. Есть и другие способы убирания значков, от попытки корректного закрытия программы через сообщения (что, понятно, может и не сработать), до убийственно корявых - вплоть до программного прогона мышки над треем Wink Но ни одного достаточно надежного нет, это недоработка трея в винде.
В общем, стоит ли со всем этим заморачиваться ради фантомного значка в трее - не уверен.
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 151

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

Loopback
Думаю стоит, иначе после многократного открытия-закрытия ТС будет вот такая картина из фантомных значков
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:30    Post subject: Reply with quote

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


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



Joined: 22 Feb 2010
Posts: 151

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

MVV
Да, некоторые не дохнут по taskkill /T, но таких не так много.
Можно тогда организовать как бы двойное завершение, сперва корректное через taskkill /T, а потом на всякий случай taskkill /F

Попробовал ваше дополнение Starter, спасибо за него. Всё отлично,мне понравилось, но можно ли убрать отображение консоли? А то этот свёрнутый батник всю малину портит. Может задействовать уже готовый для этих нужд Hidcon. Или можно сделать, что бы подхватывался не только Starter.bat, но и Starter.exe?
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 151

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

MVV wrote:

HA3APET, а тебе эти значки сильно нужны в трее? Может, поместить их в скрытую часть области уведомлений (всегда скрывать значок)? Тогда они будут скапливаться там и не будут плодиться на самой панели задач.

В том то и дело, что не нужны) Вариант со скрыванием не очень интересен. Хочется, что бы всё было идеально, совершенно)
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1279

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

Поставил KatMouse, проверил - у меня он taskkill /T убивается сразу, без /T - ровно с трех раз, в обоих случаях значок исчезает. Всё, что пробовал у себя другое - значок исчезает и без /T. В общем, ясности нет, может просто сама программа на скрине кривовата? Что это такое?

В принципе, попробовать прибивать дерево можно, если taskkill /T делает только это.
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 151

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

Loopback
Программа на скрине - tcamper, но себя так ведут ещё очень много программ. Изгаляюсь над своей сборкой drweb уже не один год. Так там тоже спайдер агент оставляет фантомный значок, если убивать через диспетчер задач или через taskkill /F, но по 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 18:14    Post subject: Reply with quote

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

HA3APET wrote:
Попробовал ваше дополнение Starter, спасибо за него. Всё отлично,мне понравилось, но можно ли убрать отображение консоли? А то этот свёрнутый батник всю малину портит. Может задействовать уже готовый для этих нужд Hidcon. Или можно сделать, что бы подхватывался не только Starter.bat, но и Starter.exe?

Неужели появляющаяся на секунду кнопка панели задач так мозолит глаза? С помощью любого редактора ресурсов замени unicode-строку bat на exe, чтобы запускался экзешник, а не батник (такая строка там одна, по смещению 0x0418). Smile
_________________
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: Wed Mar 09, 2011 19:34    Post subject: Reply with quote

Loopback wrote:
Вопрос, насколько это реально нужно - при запуске тотала запускать документы через внутренние ассоциации? Я что-то не могу придумать ни одного сценария, где это может понадобиться.
Ну, к примеру, ты сам писал про открытие html при запущенном браузере. К чему, раз с твоей точки зрения документы открывать не требуется? Я, например, на рабочем месте хочу запускать некое описание в листерном плагине HTMLView, а у меня открывается браузер, который запускается значительно дольше, или ряд документов, которые, в принципе, могут открыться только в прогах в составе сборки ТС и которые нужны в течении некоторой рабочей сессии, потом список через какой-то период удаляется и вписывается новая партия документов, ну и т.д..
Loopback wrote:
В общем, если будут доводы в пользу полезности фичи - возможно и сделаю, но в любом случае отдельной командой, в отдельном плагине.
Меня устроит и отдельный.
Loopback wrote:

Вообще, как раз эти дела лучше бы делать скриптом... там где есть полноценные переменные и много нужных функций.
Хочется всё-таки решать задачу TC-шным интерфейсом.
Loopback wrote:
Autorun задумывался только для выполнения команд при автозапуске, не при завершении.
Но уже фича с /T реализована, несмотря на задумки.
Loopback wrote:
Чтобы красиво и прозрачно реализовывать такие задумки, нужно вводить такое понятие, как "событие - завершение тотала". И в этом блоке писать завершающие операции. Само-собой, это потребует переписать изрядную часть кода.
Хм. И что ты предлагаешь? Отдельную библиотеку? Если так, то кто бы взялся за её написание?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1279

Post (Separately) Posted: Wed Mar 09, 2011 22:33    Post subject: Reply with quote

Flasher wrote:
Ну, к примеру, ты сам писал про открытие html при запущенном браузере. К чему, раз с твоей точки зрения документы открывать не требуется?

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

Ок, сделаю из спортивного интереса Smile
Flasher wrote:
Но уже фича с /T реализована, несмотря на задумки.

Эти процессы плагин запускает сам. Со сторонними сложнее. Нет, ну можно, конечно, сделать функцию типа "CloseProcessOnExit" c параметром в виде имени процесса, но это довольно коряво.
Flasher wrote:
Хм. И что ты предлагаешь? Отдельную библиотеку? Если так, то кто бы взялся за её написание?

Ну, в принципе MVV выше уже написал плагинчик с батником.

А что касается события на выход, это должно быть сделано в основном плагине. После определенных модификаций. Сделать это можно, будет тогда Autorun не только менеджер загрузки, но и выгрузки. Но вряд ли в ближайшем релизе.
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 23:16    Post subject: Reply with quote

Loopback wrote:
Реальной необходимости да, не вижу.
Для себя, но не для остальных. Wink
Loopback wrote:
Ок, сделаю из спортивного интереса Smile
Это радует.
Loopback wrote:
Со сторонними сложнее. Нет, ну можно, конечно, сделать функцию типа "CloseProcessOnExit" c параметром в виде имени процесса, но это довольно коряво.
А почему бы и нет? В чём корявость?
Loopback wrote:
Ну, в принципе MVV выше уже написал плагинчик с батником.
По батнику я уже отписал.
Loopback wrote:
А что касается события на выход, это должно быть сделано в основном плагине. После определенных модификаций. Сделать это можно, будет тогда Autorun не только менеджер загрузки, но и выгрузки. Но вряд ли в ближайшем релизе.
Это какое-то отношение к способу MVV имеет? Или речь идёт о той самой переписи изрядной части кода?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1279

Post (Separately) Posted: Wed Mar 09, 2011 23:47    Post subject: Reply with quote

Flasher wrote:
Для себя, но не для остальных.

Ну, кроме тебя в защиту идеи пока никто и не высказывался Wink
Flasher wrote:
А почему бы и нет? В чём корявость?

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

В данном случае правильно будет разделить конфигурацию на две секции - инициализации (что сейчас и есть) и финализации, в которой будут точно так же как и сейчас выполняться команды.
Flasher wrote:
Или речь идёт о той самой переписи изрядной части кода?

Ага, о ней.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Mar 10, 2011 01:36    Post subject: Reply with quote

Loopback wrote:
Не люблю решений, которые требуют для своей работы какой-то специальной обработки, сильно отличающейся от основной реализации. Это как раз тот случай.
А если то же самое, но отдельной библиотекой?
Loopback wrote:

В данном случае правильно будет разделить конфигурацию на две секции - инициализации (что сейчас и есть) и финализации, в которой будут точно так же как и сейчас выполняться команды.
Это-то я понял. А ещё лучше сделать одну команду (Terminate, например), после которой в cfg можно задать список закрываемых программ, обрамлённый тегами.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1279

Post (Separately) Posted: Thu Mar 10, 2011 11:06    Post subject: Reply with quote

Flasher wrote:
А если то же самое, но отдельной библиотекой?

Можно, но просто не хочется тратить время на временные решения.
Flasher wrote:
А ещё лучше сделать одну команду (Terminate, например), после которой в cfg можно задать список закрываемых программ, обрамлённый тегами.

Не лучше, потому что неудобно с точки зрения парсинга. Скорее всего будет что-нибудь вроде:

Code:
TerminateProcess "proc1.exe" ["proc2.exe" "procN.exe"]
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Thu Mar 10, 2011 11:22    Post subject: Reply with quote

Loopback wrote:
Скорее всего будет что-нибудь вроде:

Code:
TerminateProcess "proc1.exe" ["proc2.exe" "procN.exe"]

Думаю, можно не утруждать себя парсингом кучи имен в одной команде, нагляднее будет, если будет несколько строчек с TerminateProcess. А вот поддержка масок бы скорее всего не помешала. Еще, думаю, могла бы быть полезной функция убийства процесса по заголовку или классу окна. Хотя, для решения таких задач есть более специализированные решения.
_________________
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 ... 11, 12, 13 ... 131, 132, 133  Next
Page 12 of 133

 
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