# внутренние ассоциации Global AssocIniState = AssocState() Func AssocState() Local flt IniRead /R flt %COMMANDER_INI% "Associations" "Filter1" "" # секция включена If flt <> "" Then SetEnv ICON_ASSOC "%COMMANDER_PATH%\Icons\Clsw\2.ico" Return true Endif # секция выключена SetEnv ICON_ASSOC "%COMMANDER_PATH%\Icons\Clsw\6.ico" Return false EndFunc Func SwitchAssocState(lParam) Local ini = %COMMANDER_PATH% & "\Ini\Associations.ini" Local script = %COMMANDER_PATH% & "\Scripts\Vbs\ChangeAssoc.vbs", sect, vbs = false If AssocState() Then # отключение секции sect = '[-Associations]' If vbs = false Then IniRenameSection(ini, "Associations", "-Associations") Else # включение секции sect = '[+Associations]' If vbs = false Then IniRenameSection(ini, "-Associations", "Associations") Endif If vbs = true Then ShellExec /SW_HIDE /WAIT:3000 "%script%" "%sect%" AssocState() SendMessage(AUTORUN_TCHANDLE, 11, 0, 0) SendMessage(AUTORUN_TCHANDLE, 1045, 0, 0) SendCommand cm_ReloadBarIcons Sleep(10) SendMessage(AUTORUN_TCHANDLE, 11, 1, 0) WinRedraw(1) EndFunc