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: Fri May 01, 2026 12:36    Post subject: Reply with quote

FallenAngel
Это еще одна проблема. Записать ключи в INI недостаточно, нужно еще как-то подстимулировать тотал, чтобы он их перечитал, но, к сожалению, это не всегда удается.

Иногда помогают специальные команды cm_ReloadBarIcons, cm_ReloadFileIcons или cm_RereadSource, но в данном случае они не работают. Навскидку работает:

1) Для панели инструментов
- скрыть и заново отобразить панель

2) Для файловой панели
- сменить режим просмотра (можно потом вернуть свой)

Может еще что-то есть, но я глубоко не проверял.

Если применить эти команды (из пунктов 1 и 2), то главное окно ТС (скорее всего) будет неприятно дергаться и перерисовываться. Чтобы этого не происходило, можно заблокировать окно перед выполнением команд и затем снова его разблокировать:
Code:
SendMessage(AUTORUN_TCHANDLE, 11, 0, 0)
...
команды
команды
...
Sleep(50)
SendMessage(AUTORUN_TCHANDLE, 11, 1, 0)
WinRedraw(1)

Значение Sleep нужно подобрать под себя, оптимальное. Поскольку команды выполняются несинхронно с Autorun, он их не ждет и движется дальше. Может получится так, что окно разблокируется раньше, чем команды завершились, это сведет на нет саму блокировку, т.е. окно все-равно будет перерисовываться перед глазами.

Нет никаких гарантий, что все получится. Т.ч. вариант с перезагрузкой вполне себе вариант, хоть и крайний.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group