Orion9

|
Posted: Fri Sep 19, 2025 13:56 Post subject: |
|
|
A55555 wrote: | С этим я не знаю куда его, тем не менее всё заработало. |
Со временем кода становится много и хранить его весь в файле autorun.cfg становится не удобно. Тогда код разделяется на логические блоки и сохраняется в разные файлы. Далее эти файлы подключаются к основой конфигурации директивой Pragma Include с указанием пути к файлу, но вам не стоит пока забивать этим голову.
A55555 wrote: | Работает, но окно не выходит на передний план при своем появлении. |
Поэтому я и написал, что это костыль. В Autorun нет легкого способа работать с графическим интерфейсом, поэтому приходится вызывать vbs-скрипт из autorun-скрипта. Попробуйте заменить функцию SetTorrentDrives() на новый блок, должно помочь:
 Hidden text Code: | Global gVbsInputBox
Func SetTorrentDrives()
Local out, drives, vbs
IniRead drives %COMMANDER_INI% "Autorun" "TorrentDrives" %"gDriveInclude"
vbs = '/c ECHO Wscript.Echo Inputbox("Search on these disks:","Autorun","' & drives & '")>%TEMP%\~auto_0001.vbs'
ProcessExecGetOutput out %COMSPEC% %vbs%
gVbsInputBox = 1
RunThread("WinVbsInputBoxActivate")
ProcessExecGetOutput /OEM out "cscript.exe" "/nologo ~auto_0001.vbs" %TEMP%
gVbsInputBox = 0
out = StrTrim(out)
If out = "" Then Return
IniWrite %COMMANDER_INI% "Autorun" "TorrentDrives" %out%
Sleep(50)
MsgBox("Ключ сохранен.", "Autorun", 64)
EndFunc
Func WinVbsInputBoxActivate()
Local hVbs
While gVbsInputBox
hVbs = WinFind(0, "#32770", "Autorun")
If hVbs > 0 Then
WinSetState(23, hVbs)
Break
EndIf
Sleep(50)
Wend
EndFunc
|
A55555 wrote: | Работает быстро, но получается эта программа всегда должна быть запущена? |
Получается, так. Можно запускать Everything только на время поиска торрент-данных, если вы не пользуетесь этой утилитой, но поиск без Everything тоже быстро работает, особенно если не искать на разделах, где стоит операционная система.
A55555 wrote: | Этот момент остался. |
Я пока не решил, что с этим делать. На мой взгляд, неправильно скрывать избыточную вложенность каталогов. Вы сами, например, по неосторожности можете поместить раздачу в пустой каталог или раздающие могут допустить эту оплошность. Нельзя с уверенностью сказать, какой уровень вложенности считается легитимным для конкретного торрент-файла только по его размеру. Отфильтровать, конечно, можно. Но нужен дополнительный алгоритм, хотя стоит ли он того, пока не ясно. В окне сообщения сейчас видно, что это одна раздача. Пользователь только должен принять решение, какой уровень каталога считается правильным для работы в клиенте.
A55555 wrote: | При нажатии "НЕТ" в окне с предложением сохранить в TXT, переход на противоположной панели происходить по 2му более длинному пути. |
На самом деле переход происходит по первому пути, просто этот путь открывается в противоположной панели и становится текущим. Насколько мне известно, в ТС нет специальной команды для выделения каталога в противоположной панели установкой на него фокуса или курсора. Если такая команда есть, то поправьте меня (обращение ко всем).
A55555 wrote: | Не полностью скачанные по-прежнему, если я правильно понимаю, ни первым, ни вторым способом не находит. |
Да, я об этом писал. Недокаченные раздачи так находиться не будут. Здесь нужен более глубокий анализ содержимого торрент-файла и более продвинутый алгоритм для сверки данных на диске. Сейчас код опирается на плагин TCTorrent (превосходный плагин от Loopback), но wdx-часть плагина не выдает список содержимого торрента, только wlx-часть. Может, автор сделает какой-нибудь недокументированный вызов к библиотеке для получения такого списка? Тогда можно будет подумать. А так, есть еще вариант с консольной утилитой torrentcheck, но тогда с бубном чуть выше прыгать придется.
A55555 wrote: | Если это будет возможно, добавьте пожалуйста вариант поиска в чистом виде, если нашло просто на противоположной панели курсор установлен на найденной папке/файле не заходя в папку без дополнительных сообщений и запросов. |
А если будут дубликаты? Во время я тестов специально копировал данные на несколько дисков, чтобы посмотреть, как они будут находиться. Нельзя полностью скидывать со счетов, что могут найтись дубликаты, а значит, нужно их видеть и знать, что они существуют. Но я понял, что вы имеете в виду. Да, можно сделать для этого отдельный режим, который будет вызываться либо по CTRL, либо отдельной командой. К сожалению, сейчас уже не успеваю это сделать, но взял на заметку для будущих версий. |
|