Код из справки был уточнён, новая версия ниже:
Code: |
# Автор — Flasher
# Включение/отключение внутренних ассоциаций
# [ Из-за переноса секции IniRenameSection позже будет заменена. ]
RegisterCommand 64000 SwitchInternalAssociations
Func SwitchInternalAssociations(lParam)
Local Sections = List(), Mess
Sections.Text = IniReadSectionNames(COMMANDER_INI)
If Sections.IndexOf('Associations') > -1 Then
IniRenameSection(COMMANDER_INI, 'Associations', '-Associations')
Mess = 'ОТКЛЮЧЕНЫ!'
ElseIf Sections.IndexOf('-Associations') > -1 Then
IniRenameSection(COMMANDER_INI, '-Associations', 'Associations')
Mess = 'ВКЛЮЧЕНЫ!'
Else
Mess = 'ОТСУТСТВУЮТ!'
EndIf
Free(Sections)
Static c
c += 1
If Mess <> 'ОТСУТСТВУЮТ!' Then
SendMessage(AUTORUN_TCHANDLE, 147, 0, 1302100)
If c = 1 And Mess = 'ВКЛЮЧЕНЫ!' Then
SendMessage(AUTORUN_TCHANDLE, 1045)
Else
SendCommand(2958)
EndIf
EndIf
ShowHint('Внутренние ассоциации ' & Mess, -1000, -1000, 1500, 1)
WinAlign(LAST_HINT_WINDOW, 0, RequestInfo(3), 0)
EndFunc |
Причина отсутствия 1045 в первом варианте кода была связана с изменением размера шрифта в панелях и артефактами в процессе перерисовки. С чем связана проблема шрифтов пока непонятна, но это наблюдалось на некоторых из тестовых стендов.