Orion9

|
Posted: Fri Sep 19, 2025 19:19 Post subject: |
|
|
A55555 wrote: | Заходит внутрь найденной папки и один шаг вверх по дереву каталога. |
Вы абсолютно правы. Почему-то эта мысль не пришла ко мне сразу. Видимо, мысли уже другим заняты. Замените функцию GoToPathFromMsg, тут всего одна строчка добавилась:
 Hidden text Code: | Func GoToPathFromMsg(Target)
If FileExist(Target) Then
If RequestInfo(1000) = 2 Then
CommandExec /CD %'Target'
Else
CommandExec /CD '' %'Target'
Endif
SendCommand(4006)
If StrPos(FileGetAttr(Target), "D") Then SendCommand(2002)
Else
ShowHint("Путь не существует " & Target)
EndIf
EndFunc |
Работает действительно лучше. На крайний случай можно опцию потом добавить, переходить или не переходить внутрь каталога.
А теперь жирный бонус. Сделал автопереход к данным при включеном CapsLock. Поменяйте старый фрагмент кода на новый:
 Старый Code: |
Else
g_FindTorrTask = 0
SendMessage(h_WinFindTorr, 0x0010, 0, 0)
If DllCall("DestroyWindow", "handle", h_WinFindTorr) Then h_WinFindTorr = 0
If gTorrentCount = 0 Then
MsgBox("Найдено: " & gTorrentCount & auCRLF & auCRLF & found, "Autorun", 64)
Else
MsgBox("Найдено: " & gTorrentCount & auCRLF & auCRLF & found & auCRLF & auCRLF & _
"Сохранить в текстовый файл?", "Autorun", 3+64+0)
If EXTENDED = 2 Then Return
If EXTENDED = 7 Then GoToPathFromMsg(aFound[0])
If EXTENDED = 6 Then SaveDataPathToText(sFile, found)
EndIf
EndIf |
 Новый Code: |
Else
g_FindTorrTask = 0
SendMessage(h_WinFindTorr, 0x0010, 0, 0)
If DllCall("DestroyWindow", "handle", h_WinFindTorr) Then h_WinFindTorr = 0
If gTorrentCount = 0 Then
MsgBox("Найдено: " & gTorrentCount & auCRLF & auCRLF & found, "Autorun", 64)
Else
If BitAND(DllCall("GetKeyState", "int", 0x14, "short"), 1) = 0 Then
SetHintParam("ShowHint", "Font", 15, "Arial")
SetHintParam("ShowHint", "BackColor", 0xFF0000)
SetHintParam("ShowHint", "Text", 0xFFFFFF)
ShowHint("Автопереход к найденому", 0, 0, 1000, 1)
WinAlign(LAST_HINT_WINDOW)
Sleep(100)
SetHintParam("ShowHint", "Reload")
GoToPathFromMsg(aFound[0])
Return
EndIf
MsgBox("Найдено: " & gTorrentCount & auCRLF & auCRLF & found & auCRLF & auCRLF & _
"Сохранить в текстовый файл?", "Autorun", 3+64+0)
If EXTENDED = 2 Then Return
If EXTENDED = 7 Then GoToPathFromMsg(aFound[0])
If EXTENDED = 6 Then SaveDataPathToText(sFile, found)
EndIf
EndIf |
Теперь если CapsLock включен, будет автоматический переход. Если выключен, будет прежнее окно с сообщением. Как говорится "Autorun - мечты сбываются". Осталось только кнопки под это дело обновить:
 Hidden text TOTALCMD#BAR#DATA
70500
%COMMANDER_EXE%
Поиск данных торрент-файла|Shift - Выбор дисков для поиска|CapsLock - Автопереход к найденому
-1
 Hidden text TOTALCMD#BAR#DATA
70501
%COMMANDER_EXE%
Поиск торрент-данных c Everything|CapsLock - Автопереход к найденому
-1 |
|