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: Wed Apr 30, 2025 20:06    Post subject: Reply with quote

AkulaBig wrote:
Проверил на ТС х32. Да, тут редрав похоже работает. Намного лучше, но все равно также мелькает. Но если в х64 прям свободно читаются имена следующих колонок, то на х32 я не успеваю разобрать, что там написано. Это без задержек. С задержками конечно хуже.

С задержками не может быть хуже, с ними иногда может быть только лучше.

Команда SendMessage(AUTORUN_TCHANDLE, 11, 0, 0) отключает перерисовку окна, SendMessage(AUTORUN_TCHANDLE, 11, 0, 0) снова её включает. Всё, что происходит между этими командами не должно отображаться на экране. Наоборот, возможен случай, когда код, расположенный между этими командами, выполняется медленне, чем приходят возвращаемые значения. Тогда происходит выполнение последней команды SendMessage(AUTORUN_TCHANDLE, 11, 0, 0) и перерисовка экрана включается раньше, чем изменения вступили в силу. В такие моменты и нужна задержка, чтобы всё дорисовалось до конца, прежде чем окно сможет обновится командой WinRedraw.

Если у вас в х64 хуже, чем в х86, попробуйте увеличить задержку до 500мс и посмотреть, что получится, когда уже точно всё дорисовалось.
Code:
Func SrcTest(lParam)
    SendMessage(AUTORUN_TCHANDLE, 11, 0, 0)
    CommandExec cm_SrcNextCustomView
    CommandExec cm_SrcPrevCustomView
    Sleep(500)
    SendMessage(AUTORUN_TCHANDLE, 11, 1, 0)
    Sleep(10)
    WinRedraw(2)
EndFunc

Есть еще вариант с TCFS2. Попробуйте его, может он вам больше подойдет:
Code:
TCFS2 = COMMANDER_PATH & "\Tools\TCFS2\TCFS2.exe
ShellExec %TCFS2% '/ef "msg($0B, 0, 0) tcm(5501) tcm(5502) msg($0B, 1, 0) run_item(update)"'

AkulaBig wrote:
А представьте, это будет на каждом файле. Причем при перемещении на каждый следующий файл.

Я поэтому и попросил конретный код. Что можно с этими двумя командами сделать?
Code:
cm_SrcNextCustomView,cm_SrcPrevCustomView

Ну разве что посмотреть перерисовывается или не перерисовывается окно.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group