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
AkulaBig



PostPosted: Wed Feb 12, 2025 09:30    Post subject: Reply with quote

Ну вот так все отлично работает. Теперь надо разобраться, как ShellExec "%COMMANDER_PATH%\Utilities\TCFS2\TCFS2.exe" '/ef "msg(147,0,1302100) msg(1045,0,0)' переписать на Autorun и можно пользоваться.
Code:

# Переключение ассоциаций файлов
# Switching file associations
RegisterCommand 61000 "SwitchAssocState"

Global AssocIniState
# первое выполнение при запуске
# first execution when launching
AssocIniState = AssocState()

Func AssocState()
   Local flt
   IniRead /R flt %COMMANDER_INI% "Associations" "Filter1" ""
   # если в секции что-то есть, значит она включена
   # if there is something in section, then it is turned on
   If flt <> "" Then
      SetEnv AssocIco "%COMMANDER_PATH%\Images\Others\ICO\Light\LightOn.ico"
      Return true
   Else
      SetEnv AssocIco "%COMMANDER_PATH%\Images\Others\ICO\Light\LightOff.ico"
      Return false
   Endif
EndFunc

Func SwitchAssocState(lParam)
   Local ini_Assoc = %COMMANDER_PATH% & "\Ini\Associations.ini"

   Local Sections = List()
   Sections.Text = IniReadSectionNames(%ini_Assoc%)

   If Sections.IndexOf('Associations') > -1 Then
      IniRenameSection(%ini_Assoc%, 'Associations', '-Associations')
   ElseIf Sections.IndexOf('-Associations') > -1 Then
      IniRenameSection(%ini_Assoc%, '-Associations', 'Associations')
   EndIf

   Free(Sections)

   AssocState()

   CommandExec cm_ReloadBarIcons
   
   # Обновляем иконки ассоциированных файлов
   # Update icons of associated files
   ShellExec "%COMMANDER_PATH%\Utilities\TCFS2\TCFS2.exe" '/ef "msg(147,0,1302100) msg(1045,0,0)'
EndFunc


Добавлено спустя 1 час 48 минут:

Ну все, пишем вместо ShellExec "%COMMANDER_PATH%\Utilities\TCFS2\TCFS2.exe" '/ef "msg(147,0,1302100) msg(1045,0,0)':
Code:

CommandExec cm_ReloadBarIcons
# Обновление внутренних ассоциаций
# Updating internal associations
SendMessage(AUTORUN_TCHANDLE, 1045,0,0)

и все отлично работает. Обратите внимание, что CommandExec cm_ReloadBarIcons после AssocState() не лишний. Иначе будет открываться окно настройки ассоциаций.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group