Orion9

|
Posted: Tue Apr 29, 2025 19:35 Post subject: |
|
|
AkulaBig wrote: | Простейшая команда для кнопки: cm_SrcNextCustomView,cm_SrcPrevCustomView |
Вы не проверяли предложенный код? Всё работает, не выдумывайте
Code: | RegisterCommand 60021 "SrcTest"
Func SrcTest(lParam)
SendMessage(AUTORUN_TCHANDLE, 11, 0, 0)
CommandExec cm_SrcNextCustomView
CommandExec cm_SrcPrevCustomView
Sleep(50)
SendMessage(AUTORUN_TCHANDLE, 11, 1, 0)
Sleep(10)
WinRedraw(2)
EndFunc |
Пока залез, вспомнил, о чём в прошлый раз забыл написать и о чём давно мысль мелькала. Можно просто повесить озвучку на CapsLock для более понятного переключения:
Code: | SetHotkeyAction /S /V:20 JoinHintLock 1
SetHotkeyAction /V:20 /K:S JoinHintLock 2
SetHotkeyAction /V:20 /K:C JoinHintLock 3
SetHotkeyAction /V:20 /K:A JoinHintLock 4
Func JoinHintLock(lParam)
Local file = COMMANDER_PATH & "\Ini\Sounds\R2D2\r2d2-01.wav"
If MediaInfoLock > 0 Then
MediaInfoLock = 0
file = COMMANDER_PATH & "\Ini\Sounds\R2D2\r2d2-02.wav"
Else
MediaInfoLock = 1
Endif
If lParam = 2 Then MediaInfoLock = 2
If lParam = 3 Then MediaInfoLock = 3
If lParam = 4 Then MediaInfoLock = 4
DllCall("Winmm.dll\PlaySoundW", "wstr", file, "ptr", 0, "dword", 131072 + 1)
Return -1
EndFunc |
Еще давно хотел это сделать, но вылетело из головы. Звучит шикарно. Танцев никаких. Глобальная переменная MediaInfoLock должна, конечно, называться CapsLock. Значение этой переменной обрабатывается в JoinHint, в зависимости от чего меняться подсказка.
AkulaBig wrote: | Ну а Штирлицам и т.д. 10-15 лет. |
Возможно есть и другие библиотеки. Как вы знаете, тот же AkelPad довольно неплохо определяет некоторые кодировки, UTF16 без BOM он точно определяет. Если бы автор редактора сделал отдельный ключ командной строки, который возвращал бы в stdout кодировку файла без запуска самого AkelPad, это было бы круто. А если бы оформил алгоритмы детекта в отдельную библиотеку, было бы ещё круче.
AkulaBig wrote: | Уже проверил руками и получил подтверждение - 32 столбца. |
Не густо, учитывая то, что вы хотите вывести всё, а там часто за сотню улетает. Правда я не понимаю зачем вам выводить всё, но может быть SetFieldsParam в этом поможет? |
|