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 

Single Post  Topic: Autorun 
Author Message
Orion9



PostPosted: Thu Oct 02, 2025 20:42    Post subject: Reply with quote

Loopback
Ну что, покажем Гислеру, как надо цвет панелей менять?

 Hidden text

 Hidden text

Ну вот. А то всё диалоги да диалоги. Не по-швейцарски это. Или по-швейцарски?

A55555
Новая функция работает только с Everything, проверять условие не требуется. Т.е. вместо:
Code:
If bEverything Then CommandExec em_everything

Можно просто посылать em_команду, например, после отображения прогресс-бара:
Code:
RunThread "WinFindTorrentData"
While g_FindTorrTask = 0
    Sleep(50)
Wend

CommandExec em_everything

А в конце выгружать Everything после подсчета времени операции:
Code:
T2 = Round(GetUptime() - T1, 0) / 1000
T3 = "Время поиска: " &  StrFormat("%.3f", T2) & " sec"

CommandExec em_everything

Старый поиск без Everything не может работать дольше прежнего, ничего вроде не менялось. Возможно, у вас диски другие добавились или буквы изменились. Для ускорения поиска на HDD тома NTFS должны индексироваться (эта галочка обычно стоит по умолчанию в Windows) и лучше исключить системный раздел из поиска, особенно если на нем не хранятся торрент-данные. Другие логические диски, где тоже ничего нет, лучше тоже исключить из поиска.

Для обратного поведения CapsLock нужно поставить "Not" после условия, т.е. заменить
Code:
# проверка CapsLock
If BitAND(DllCall("GetKeyState", "int", 0x14, "short"), 1) Then

на
Code:
# проверка CapsLock
If Not BitAND(DllCall("GetKeyState", "int", 0x14, "short"), 1) Then

И вы были правы. В старой функции поиска была ошибка и CapsLock работал наоборот. В последней версии модуля я исправил эту оплошность:
Code:
IniRead gDriveInclude %COMMANDER_INI% "Autorun" "TorrentDrives" %"gDriveInclude"
If Not BitAND(DllCall("GetKeyState", "int", 0x14, "short"), 1) Then

Code:
If BitAND(DllCall("GetKeyState", "int", 0x14, "short"), 1) Then
         SetHintParam("ShowHint", "Font", 15, "Arial")

Вам тоже нужно добавить "Not" во втором случае, а в первом его убрать.

Что касается недокаченных раздач, то термин изначально был выбран неправильно. Речь идет о частично закаченных раздачах, как вы верно определили. Соответственно, поиск по размеру не будет давать результата. Можно попробовать в клиенте поставить опцию, чтобы дисковое пространство распределялось сразу, но не уверен, что это поможет.

Да, если в торрент-файле много мелких файлов, то поиск может длиться долго, но не бесконечно. Чем больше мелких файлов, тем больше результатов возвращает Everything и тем медленне все делается. К сожалению, Blu-Ray диски этим грешат. Они содежат много мелких файлов, которые ко всему прочему совпадают по именам и структуре каталогов с другими Blu-Ray дисками. Алгоритм поиска нужно улучшать, чтобы принимать во внимание только большие файлы. Но можно в настройках Everything исключить ненужные диски из индексации. Это должно ускорить поиск. В принципе режим "Имя+размер" должен быстро работать по сравнению с другими режимами, и достоверности от него больше, если какие-то файлы были полностью закачены.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group