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 ... 207, 208, 209, 210, 211  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Orion9



Joined: 01 Jan 2024
Posts: 903

Post (Separately) Posted: Mon Sep 29, 2025 13:54    Post subject: Reply with quote

Loopback wrote:
По умолчанию ShowHint перехватывает фокус, соответственно, нажатие после вызова функции ShowPipeEx попадает в другое окно. Нужно вызывать подсказку с флагом 1, ну и таймер закрытия придется использовать (или тыкать строго в подсказку).

Понял. Спасибо за объяснение. Но флаг 1 для меня в этой ситуации не вариант. Была идея смотреть класс активного окна, и если листер - не вызывать подсказку. Но тогда нужно принимать в расчет и быстрый просмотр на панелях. Короче, нет смысла этим загоняться, проще на Alt все повесить. Хотя Alt+1 и т.д. явно не мой аккорд. Но фича с листанием подсказки не так часто требуется, поэтому даже лучше, что на альтах будет висеть.
Loopback wrote:
Почему-то был уверен, что такой запрос поступит Smile

А как иначе? Без статистики - никуда. Такие фичи только на первый взгляд кажутся бесполезными, на самом деле они информируют и украшают.
Back to top
View user's profile Send private message
A55555



Joined: 06 Feb 2011
Posts: 65

Post (Separately) Posted: Mon Sep 29, 2025 16:11    Post subject: Reply with quote

Orion9 wrote:
A55555 wrote:
Но на чистом файле autorun.cfg я попробовал и нет, не выгружает например вот этим
Code:
Pragma AutorunFinalizeSection
ShellExec(COMMANDER_PATH & "Everything.exe", "-exit")

Но я понимаю, что это не приоритет, тем более, что сам A55555 нашел другое решение.

Orion9
Я сегодня ещё раз проверю на новой версии и уже лучше понимая что к чему.

Orion9 wrote:
Вы попробуйте. Посмотрите, что из этого получится. Если будет смысл в таких заменах, то в будущих версиях перенесем их в файл. А если замен совсем будет мало, то можно и в коде оставить. Хотя файл, конечно, лучше.

Спасибо, да, пока их мало, но все нужные.

Orion9 wrote:
Кстати, я вчера перед тем как всё заархивировать, сделал небольшую функцию для переключения полей подсказки, чтобы не комментировать каждый раз Pragma AutorunPluginFields, а делать это "на лету". Старая подсказка у меня по-прежнему в "JoinHint" и на нее много чего навешено, чтобы полностью от нее отказаться в пользу "MagicHint". Но в будущем, конечно, надо будет довести все до ума.
 Hidden text

Эти дополнительные функции как альтернатива Alt+5?
Orion9 wrote:

Переменные.
...
gHintShift - шаблон для смены "на лету", только для левой секции
....


Дополнительно шаблон в левой секции может меняться "на лету" с тем, что указан в gHintShift. Комбинация для смены Alt+5.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 903

Post (Separately) Posted: Mon Sep 29, 2025 19:26    Post subject: Reply with quote

A55555 wrote:
Эти дополнительные функции как альтернатива Alt+5?

Можно так сказать. Но если точнее, это отдельная и более ранняя функция подсказки, которая может дополнительно выводить данные из wdx-плагинов и консольных утилит, например ExifTool. Код этой функции сильно перемешан с другими переменными и функциями, поэтому я не могу его сюда вставить, но чтобы вы имели какое-то представление и при этом могли извлечь пользу, могу привести небольшой пример:

 Hidden text

Добавьте этот код и теперь при нажатии Alt+F12 у вас будет меняться подсказка. Во второй подсказке будут отображаться данные от ExifTool, только путь к утилите нужно указать свой.

ExifTool работает на многих форматах, но больше специализируется на фото и рисунках, как подразумевает ее название. Листание страниц будет работать и с этой подсказкой, т.к. утилита выводит довольно много данных.

P.S. Хотел вам ранее об этом написать. Но если секция HintsCustomField у вас пустая (что довольно странно, если вы пользуетесь готовой сборкой), то вам нужно почитать об этом немного теорию или посмотреть другие сборки, потому что вы упускаете довольно мощный инструмент ТС по отображению подсказок. Если коротко, то можно создать шаблоны, для которых будут отображаться свои подсказки. Например, для торрент-файлов своя подсказка, а для pdf-файлов своя:
Code:
10exts=>Торрент
10fields=Трекер: [=tctorrent.Tracker]\nРазмер: [=tctorrent.Total Size.bkMG2]\nФайлов: [=tctorrent.File Count]\nНазвание: [=tctorrent.Name]
15exts=*.pdf
15fields=Страниц: [=xpdfsearch.Number of Pages]\n[="Заголовок: "xpdfsearch.Title]\n[="Автор: "xpdfsearch.Author]

Из плагина TCMediaInfo тоже можно вытянуть поля, и я этим пользуюсь:
Code:
14exts=>Видео
14fields=Время: [=tcmediainfo.Duration]\nВидео: [=tcmediainfo.All video as string]\nАудио: [=tcmediainfo.All audio as string]\n[="Язык аудио: "tcmediainfo.Audio Language]\n[="Субтитры: "tcmediainfo.Text Streams]\n[="Язык субтитров: "tcmediainfo.Subtitles]
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1629

Post (Separately) Posted: Mon Sep 29, 2025 20:29    Post subject: Reply with quote

Orion9 wrote:
и украшают

Украшают, ага, ну чисто елка новогодняя Very Happy

Ладно, спорить не буду, моё мнение на этот счёт известно.

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

Loopback wrote:
С загрузкой проще, поскольку можно легко оценить с помощью GetUptme, с текстом функции и без него.

Тут я был неправ насчет GetUptime, время парсинга ей никак не оценить. Поставил таймер, загрузка и парсинг файла размером 46 Кб (1800 строк кода), на скромном ноутбучном процессоре занимает 10-15 мс.
Back to top
View user's profile Send private message
A55555



Joined: 06 Feb 2011
Posts: 65

Post (Separately) Posted: Tue Sep 30, 2025 00:46    Post subject: Reply with quote

Orion9
вот мой чистый Autorun.cfg
 Hidden text

не выгружается Everything этим способом. Windows11 24H2, TC 11.51 (64 bit)
Everything.exe находится в корневой папке TC.

Orion9 wrote:
Добавьте этот код и теперь при нажатии Alt+F12 у вас будет меняться подсказка. Во второй подсказке будут отображаться данные от ExifTool, только путь к утилите нужно указать свой.

ExifTool работает на многих форматах, но больше специализируется на фото и рисунках, как подразумевает ее название. Листание страниц будет работать и с этой подсказкой, т.к. утилита выводит довольно много данных.

Работает, спасибо, но у меня что-то сломалось и теперь в полноэкранном режиме при нажатии Alt появляется или исчезает панель TC на которой расположены меню "Файлы", "Выделение", "Навигация", "Конфигурация" и т.д.
В обычном оконном режиме при нажатии Alt подчеркиваються первые буквы этих меню.
Попробую откатится куда-то, где было нормально.
Не могу теперь листание проверить, подсказка исчезает при нажатии Alt Sad
Возможно, в результате всех манипуляций слетел перехват кнопки Alt плагином Autorun, попробую понять.


Last edited by A55555 on Tue Sep 30, 2025 14:40; edited 4 times in total
Back to top
View user's profile Send private message
AkulaBig



Joined: 03 Dec 2008
Posts: 446

Post (Separately) Posted: Tue Sep 30, 2025 06:25    Post subject: Reply with quote

A55555 wrote:
вот мой чистый Autorun.cfg

У вас Everything.exe прямо в корне ТС лежит? Не в отдельной папочке? И какая у вас версия Everything.exe? Я выше спрашивал, вы не ответили.
Back to top
View user's profile Send private message
A55555



Joined: 06 Feb 2011
Posts: 65

Post (Separately) Posted: Tue Sep 30, 2025 11:14    Post subject: Reply with quote

AkulaBig wrote:
A55555 wrote:
вот мой чистый Autorun.cfg

У вас Everything.exe прямо в корне ТС лежит? Не в отдельной папочке? И какая у вас версия Everything.exe? Я выше спрашивал, вы не ответили.

AkulaBig
Да, в корне лежит. Это автор сборки туда положил.
Версия Everything 1.4.1.1026 (x64)


Last edited by A55555 on Wed Oct 01, 2025 00:49; edited 1 time in total
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 903

Post (Separately) Posted: Tue Sep 30, 2025 20:07    Post subject: Reply with quote

Ну сказать. Loopback просто вынудил затянуть пояса и сделать хотя бы тестовую версию поиска недокаченных торрентов.
 Hidden text

Полный модуль с оригинальным примером от Loopback.
 Torrent.aucfg

 Кнопка

Возможно, не самый лучший и быстрый алгоритм, но зато простой в реализации и рабочий. Пока работает только с Everything и проверяет данные только по именам файлов без учета их размера. Соответственно, найти достоверный Blue-Ray таким образом вряд ли получится из-за слишком большого процента совпадения между именами файлов в разных раздачах. Но какую-то пользу можно попробовать извлечь из журнала операции, где сохраняются Топ-5 вероятных путей и полный список найденных файлов. CapsLock работает как и прежде. При влюченом CapsLock будет автопереход к первому вероятному пути, т.е. пути, где найдено больше всего имен из торрента. Большое количество файлов в торрент-файле может увеличить время поиска. Если запустить поиск на таком файле, результатов можно не дождаться ) В будущих версиях надо над этим подумать.

A55555
Вы пользуетесь готовой сборкой. Возможно, там уже назначена комбинация Alt+F12 или еще какие-то настройки влияют. Сказать трудно.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 903

Post (Separately) Posted: Wed Oct 01, 2025 00:30    Post subject: Reply with quote

Вот теперь намного лучше. Скидываю обновленную функцию и кнопку.

 Hidden text

 Hidden text

Важно! Для работы нужна последняя версия TCTorrent.

Loopback
В последней версии плагина ProcessExecGetOutput сломался. У меня многие функции перестали работать. Такой код возвращает пустой результат:
Code:
global sout
ProcessExecGetOutput /OEM sout %COMSPEC% "/c SET"
msgbox(sout)
Back to top
View user's profile Send private message
A55555



Joined: 06 Feb 2011
Posts: 65

Post (Separately) Posted: Wed Oct 01, 2025 01:14    Post subject: Reply with quote

Orion9 wrote:

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

Orion9
Да, и не понятно почему в этой сборке Alt дублирует функцию кнопки F10.
Где б его подредактировать и убрать этот излишек.

Спасибо за поиск недокачанных торрентов, попробую завтра.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1629

Post (Separately) Posted: Wed Oct 01, 2025 12:50    Post subject: Reply with quote

Orion9 wrote:
В последней версии плагина ProcessExecGetOutput сломался

Так и есть, сломал в последнем обновлении. Только это не ProcessExecGetOutput виноват, а запись "/c SET", которая должна передаваться как единый строковый параметр, но /c ошибочно трактовался как переключатель.

Версия от 01.10.2025

Code:
- исправлена неправильная трактовка параметра как переключателя в командной записи
+ LoadLibrary устанавливает ERROR в 1, если плагин уже был ранее загружен
- в объекте Buffer память не выделялась изменением Size, если объект был создан с нулевым размером
- свойство Size объекта Buffer не задавало размер при работе с заданным адресом
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 903

Post (Separately) Posted: Wed Oct 01, 2025 14:03    Post subject: Reply with quote

Loopback
Теперь, кажется, всё работает. Но я еще вечером погоняю более тщательно. Спасибо.

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

Попробуйте другие пути с Everyting. И разрядность другую попробуйте, т.е. 32-битную версию. Откатитесь на бэкап ТС. Что происходит с Alt трудно понять. Может кнопка какая залипла (не Alt, а Ctrl или Shift), звучит банально, но такое случается иногда. Не пользуйтесь пока полным экраном, чтобы не мешал искать причину.

На счет торрентов. Доделал функционал немного, добавив поиск только по размеру, а также добавил комментарии. Поиск по размеру фича прикольная, можно находит разрозненные и переименованные файлы из раздач. Но если в торренте много мелких файлов, то и результаты будут соответствующими - сотни и тысячи файлов.
 Hidden text

 Hidden text
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 308
Location: Электросталь

Post (Separately) Posted: Wed Oct 01, 2025 14:21    Post subject: Reply with quote

A55555
В связи с обсуждением невыключающегося Everything: иногда похожие истории случаются при несоответствии прав. Например, когда утилита, запущенная от простого пользователя пытается завершить процесс, запущенный от админа. На всякий случай гляньте, всё ли у Вас в этом плане ровно.
_________________
Amo ergo sum
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 903

Post (Separately) Posted: Wed Oct 01, 2025 23:19    Post subject: Reply with quote

Скорее всего проблема в самой строке:
Code:
ShellExec(COMMANDER_PATH & "Everything.exe", "-exit")

Должна быть косая черта:
Code:
ShellExec(COMMANDER_PATH & "\Everything.exe", "-exit")

Как-то я упустил этот момент сразу, но сейчас попробовал и увидел.

Кстати, чистый конфиг имеется в виду именно чистый, т.е. без всего лишнего. Можно прямо на двух строках сделать autorun.cfg:
Code:
ShellExec(COMMANDER_PATH & "\Everything.exe", "-startup")

Pragma AutorunFinalizeSection
 
ShellExec(COMMANDER_PATH & "\Everything.exe", "-exit")


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

Loopback
Проверил. Вроде бы всё, что мне нужно, работает, и это очень хорошо. Постепенно всё остальное также проверится, включая ТСх64. Хочется уже стабильной версии на долгое время )
Back to top
View user's profile Send private message
A55555



Joined: 06 Feb 2011
Posts: 65

Post (Separately) Posted: Thu Oct 02, 2025 00:52    Post subject: Reply with quote

yozhik wrote:
A55555
В связи с обсуждением невыключающегося Everything: иногда похожие истории случаются при несоответствии прав. Например, когда утилита, запущенная от простого пользователя пытается завершить процесс, запущенный от админа. На всякий случай гляньте, всё ли у Вас в этом плане ровно.

yozhik
у меня всё Админ, и TC и Everything.

Orion9
подскажите пожалуйста для нового кода поиска по торрент файлу, для кнопки 70504 в функцию Func FindTorrentParts(lParam)
как правильно прописать аналог этого варианта запуска Everything
Code:
If bEverything Then CommandExec em_everything

и
Code:
#ВЫХОД ИЗ EVERYTHING
   If bEverything Then CommandExec em_everything_exit

в функции для кнопки 70504 очень много локальных переменных.
Снова хочу по аналогии со старым поиском через Everything, чтоб и запускалось и выходило сразу.
Пока решил через вами исправленную команду, запуск и выход в рамках Func FindTorrentParts(lParam).
В самом начале этой функции запуск
Code:
ShellExec(COMMANDER_PATH & "\Everything.exe", "-startup")

и в нескольких местах потом выход
Code:
ShellExec(COMMANDER_PATH & "\Everything.exe", "-exit")


нормально работает.

Старые варианты поиска работают.
"Старый_Обычный" стал немного дольше искать.
"Старый_Everything" так и летает.

В новом коде всё как вы говорите заработало, когда CapsLock_ВКЛ тогда не спрашивает ничего, когда CapsLock_ВЫКЛ выскакивает предложение сохранить в TXT.
Мне удобнее наоборот.
Подскажите пожалуйста, как поменять наоборот и для старых и для нового поиска, при CapsLock_ВЫКЛ ничего не спрашивает?

Новый поиск 70504 летает, но есть моменты.
Например раздача https://rutracker.org/forum/viewtopic.php?t=6671175
Одиночный файл без папки, я скачал от неё примерно 9% и поставил паузу.
Этот файл, если просто 70504 не будет найден. Выскакивает сообщение
 Hidden text

Если 70504+Ctrl (по имени) найдет.
Если 70504+Shift (по размеру) НЕнайдет.
Т.е. получается при обычном без дополнительной клавиши поиске 70504 доминирует поиск по размеру, не пытаясь попробовать по имени.

При этом например частично скачанная раздача https://rutracker.org/forum/viewtopic.php?t=6694494 (файлы 03. 04. 05. )
Всё нормально находит. Правда тут без всяких пауз, просто по-нормальному частично скачано.

И полноценный Blu-Ray с мелкими файлами в т.ч. https://rutracker.org/forum/viewtopic.php?t=3533230
полностью скачанный.
70504 впадает в бесконечный поиск, но не каждый раз. Закономерность не понятна на данный момент, бывает спокойно всё находит и достаточно быстро.

Orion9 wrote:
Скорее всего проблема в самой строке:
Code:
ShellExec(COMMANDER_PATH & "Everything.exe", "-exit")

Должна быть косая черта:
Code:
ShellExec(COMMANDER_PATH & "\Everything.exe", "-exit")

Как-то я упустил этот момент сразу, но сейчас попробовал и увидел.

Orion9
заработало в вашем исправленном варианте
Code:
ShellExec(COMMANDER_PATH & "\Everything.exe", "-exit")

даже не на чистом Autorun.cfg.
Спасибо.


Last edited by A55555 on Fri Oct 03, 2025 00:12; edited 3 times in total
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 ... 207, 208, 209, 210, 211  Next
Page 208 of 211

 
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