View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Apr 30, 2013 00:32 Post subject: |
|
|
ask-rus wrote: | Скомпилированные использую, например, TC Multi Comment Edit ... Носить с собой целый скриптовый язык не хочется. | +TCASwitcher. Exe-шник тут - это склейка того самого "языка" со скриптом. Вот ты как минимум уже 2 комплекта и носишь. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Tue Apr 30, 2013 01:27 Post subject: |
|
|
ask-rus wrote: | Скомпилированные использую |
Ну раз "скомпилированные" варианты (точнее скрипт склеенный с интерпретатором) признаёшь кошерными - то с тем же успехом, можно и AutoHotkey "скомпилировать". _________________ Windows 11 | TC DreamLair eternal pre-α |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Tue Apr 30, 2013 08:30 Post subject: |
|
|
Сомневаюсь, что придёт момент (задача), когда без AHK прям никуда, оффтоп. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Tue Apr 30, 2013 14:13 Post subject: |
|
|
[offtop]
В целях ликбеза:
mf-zl wrote: | Unicode - один символ = 2 байта | 2 или 4 байта.
mf-zl wrote: | Utf-8 - один символ от 1 до 6 байтов | Нет, только от 1 до 4 байтов. 6 байтов — это результат работы кривых программ, неправильно транслирующих суррогатные пары UTF-16 — поэлементно, а не как единый символ.
[/offtop] _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri May 03, 2013 18:05 Post subject: |
|
|
mf-zl, LonerD
У вас после вызова и подтверждения в окне в низу файла появляются строки [Associations] и [-Associations]?
Желательно проверить с редиректом и без. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
mf-zl
Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Fri May 03, 2013 18:19 Post subject: |
|
|
Flasher, Всё так.
Проверка на редирект и работа с соответствующим INI:
Code: | IniRead, RedirectAssociations, % COMMANDER_INI, Associations, RedirectSection, 0
Transform, INI, Deref, % (RedirectAssociations ? RedirectAssociations : COMMANDER_INI)
IniRead, Associations, % INI, Associations
|
[Associations] и [-Associations]:
Code: | ("" : "-") "Associations" |
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri May 03, 2013 18:24 Post subject: |
|
|
mf-zl
Не нравится мне этот косяк ТС. Получается, надо ещё после окна дополнительно ini переписывать..
А саму секцию он тоже вниз кидает? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
mf-zl
Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Fri May 03, 2013 18:28 Post subject: |
|
|
Flasher wrote: | Получается, надо ещё после окна дополнительно ini переписывать.. |
не воткнул - что и куда переписывать? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri May 03, 2013 18:29 Post subject: |
|
|
mf-zl wrote: | не воткнул - что и куда переписывать? | Удалять эти строки из ini. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
mf-zl
Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Fri May 03, 2013 18:34 Post subject: |
|
|
Quote: | Удалять эти строки из ini. |
Ничего не надо удалять. Не понимаю о чём ты вообще!
У меня когда ассоциации
включены: [Associations]
выключены: [-Associations] с данными из [Associations]
Ты о моём скрипте вообще говоришь? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri May 03, 2013 18:43 Post subject: |
|
|
Я пишу про появление указанных строк. Ты это подтвердил. Теперь пишешь, что ничего удалять не надо. Я уже тоже тебя не пойму..
Дело не в скриптах, дело в ТС.
Ещё раз вопрос: ТС добавляет одну из указанных строк после изменения секции ассоциаций и подтверждения в диалоге в конец ini-файла? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
mf-zl
Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Fri May 03, 2013 19:33 Post subject: |
|
|
Flasher, при отключении ассоциаций в конце файла создаётся секция [-Associations] в которую переносятся данные из [Associations], после чего удаляется [Associations].
Если после этого в тотале запустить cm_InternalAssociate и нажать Ок в конце ini создастся пустая секция [Associations] и, если ничего не добавлять в нее, повторный запуск скрипта перенесёт данные из заполненной [-Associations] в [Associations] и удалит [-Associations]. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri May 03, 2013 19:38 Post subject: |
|
|
mf-zl wrote: | и удалит [-Associations] | Ну вот, а говорил
mf-zl wrote: | Ничего не надо удалять | Подтвердилось таки.
Тогда я тоже переписываю:
Code: | '===========================================================
' Вкл\выкл внутренние ассоциации в TC
'======================= Путь к ТСFS2 ======================
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'===========================================================
Dim WSH : Set WSH = CreateObject("WScript.Shell")
'============= Путь к ini с секцией ассоциаций =============
INI = "%COMMANDER_PATH%\RedirectINI\Associations.ini"
'INI = "%COMMANDER_INI%"
'===========================================================
Set FSO = CreateObject("Scripting.FileSystemObject")
INI = WSH.ExpandEnvironmentStrings(INI)
Text = FSO.OpenTextFile(INI,1,,-2).ReadAll
Find1 = InStr(Text, "[Associations]") : Find2 = InStr(Text, "[-Associations]")
If Find1 Then
Text = Left(Text, Find1) & "-" & Mid(Text, Find1 + 1)
ElseIf Find2 Then Text = Left(Text, Find2) & Mid(Text, Find2 + 2) : End If
If Find1 Or Find2 Then
Set OINI = FSO.OpenTextFile(INI,2,,-2)
OINI.Write Text : OINI.Close
WSH.Run TCFS2 & "/ef ""tcm(519,1) delay(40) send({ENTER},findwnd(`TDlgCustomColors`))""", 0 , True
Set OINI = FSO.OpenTextFile(INI,2,,-2)
OINI.Write Text : OINI.Close
End If : Set WSH = Nothing : WScript.Quit |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
mf-zl
Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
(Separately) Posted: Mon May 06, 2013 10:14 Post subject: |
|
|
Переписал скрипт. На небольших конфигах переключает ассоциации без перезапуска. Для конфигов с секцией associations более 64кб предлагает перезапуск. Прогнал на конфиге 100кб с редиректом и без. Тестируем!
Code: | #NoTrayIcon
#SingleInstance off
SetBatchLines, -1
SetKeyDelay, -1
SetWinDelay, -1
IniRead, RedirectAssociations, % COMMANDER_INI, Associations, RedirectSection, 0
Transform, INI, Deref, % (RedirectAssociations ? RedirectAssociations : COMMANDER_INI)
IniRead, Associations, % INI, Associations
FileRead, INIc, % INI
StringReplace, INIc, INIc, % "[" (StrLen(Associations) ? "" : "-") "Associations]", % "[" (StrLen(Associations) ? "-" : "") "Associations]"
FileDelete, % INI
FileAppend, % INIc, % INI
IniRead, Associations, % INI, Associations
If StrLen(Associations) < 65531
{ PostMessage, 1075, 519, 0,, ahk_class TTOTAL_CMD
WinWait, ahk_class TDlgCustomColors,, 3
If !ErrorLevel
ControlClick, TButton2,,,, 2
} Else
{ MsgBox, 8244, Total Commander, Associations section reached 64Kb limit!`nCannot continue without restarting Total Commander.`n`nRestart now?
IfMsgBox, Yes
TC_Restart()
}
TC_Restart() {
If WinExist("ahk_class TTOTAL_CMD")
{ WinGet, PID, PID
ComObjGet("winmgmts:").ExecQuery("Select * from Win32_Process where ProcessId=" . PID)._NewEnum()[Process]
PostMessage, 1075, 24340, 0,, % t := "ahk_class TTOTAL_CMD ahk_pid " PID
WinWait, % c := "Total Commander ahk_class #32770 ahk_pid " PID, ?, 1.5
If !ErrorLevel
WinWaitClose, % c
WinWaitClose, % t,, 1.5
If ErrorLevel
MsgBox, 8244, Total Commander, Restart cancelled!
Else
Run, % Process.CommandLine
}
}
|
|
|
Back to top |
|
|
lz57005
Joined: 05 Mar 2020 Posts: 26
|
(Separately) Posted: Fri Apr 23, 2021 15:05 Post subject: |
|
|
апну тему вдруг спустя 10 лет кому-то до сих пор не нравится жать кнопки скриптом... вариант без вызова диалога и нажатия кнопок:
Code: |
TCFS2.exe /ef msg(147,0,1302100) msg(1045,0,0)
|
первое сообщение провоцирует перечитывание секции Associations
второе сообщение обновляет кэш иконок типов файлов |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|