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: Tue Apr 29, 2025 19:35    Post subject: Reply with quote

AkulaBig wrote:
Простейшая команда для кнопки: cm_SrcNextCustomView,cm_SrcPrevCustomView

Вы не проверяли предложенный код? Всё работает, не выдумывайте Smile
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 в этом поможет?
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group