Orion9

|
Posted: Mon Sep 29, 2025 19:26 Post subject: |
|
|
A55555 wrote: | Эти дополнительные функции как альтернатива Alt+5? |
Можно так сказать. Но если точнее, это отдельная и более ранняя функция подсказки, которая может дополнительно выводить данные из wdx-плагинов и консольных утилит, например ExifTool. Код этой функции сильно перемешан с другими переменными и функциями, поэтому я не могу его сюда вставить, но чтобы вы имели какое-то представление и при этом могли извлечь пользу, могу привести небольшой пример:
 Hidden text Code: | # Alt+F12
SetHotkeyAction /K:A /H:F12 SetHintFields
Func SetHintFields()
Local i
Static c = 1
c *= -1
Local sHint = c < 0 ? "ExifHint" : "MagicHint"
For i = 1 to 60
SetFieldsParam("Func", "C" & i, sHint)
Next
ShowRedHint("Поля подсказки " & sHint)
EndFunc
Func ShowRedHint(HintText)
SetHintParam("ShowHint", "Font", 15, "Arial")
SetHintParam("ShowHint", "BackColor", 0xFF0000)
SetHintParam("ShowHint", "Text", 0xFFFFFF)
ShowHint(HintText, "", "", 1000, 1)
WinAlign(LAST_HINT_WINDOW)
Sleep(50)
SetHintParam("ShowHint", "Reload")
EndFunc
Func ExifHint(FileName, FieldIndex, UnitIndex)
If FieldIndex > gHintLines Then Return
If StrPos(FileGetAttr(FileName), "D") Then Return
Local b_CTRL = BitAND(DllCall("GetKeyState", "int", 0x14, "short"), 1)
If Not b_CTRL then b_CTRL = IsPressed (0x11)
If gHintCaps And Not b_CTRL Then Return
Static sDir = COMMANDER_PATH & "\Plugins\wlx\ExifToolView\"
Static sExe = sDir & "exiftool.exe"
If FieldIndex = 1 Then
ProcessExecGetOutput gHintPipe %sExe% ' -G -S "%FileName%"' %sDir%
Endif
Return StrPart(gHintPipe, auLF, FieldIndex)
EndFunc |
Добавьте этот код и теперь при нажатии 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] |
|
|