AkulaBig
|
Posted: Wed Feb 12, 2025 09:30 Post subject: |
|
|
Ну вот так все отлично работает. Теперь надо разобраться, как 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() не лишний. Иначе будет открываться окно настройки ассоциаций. |
|