sa
|
Posted: Tue Nov 01, 2011 13:43 Post subject: |
|
|
Вариант ранее предлагавшегося скрипта, но без использования внешней утилиты (TCMC). Для вызова диалога настройки цветов необходимо назначить комбинацию клавиш (в рассматриваемом варианте это Ctrl+9) для команды cm_ColorConfig (делается через меню Конфигурация >Настройка > Разное). Поскольку уже имеется 10 нажатий клавиш из скрипта, то и одиннадцать не намного больше…
Code: | ' Описание: Переключает цвета в TC, переименовывая друг в друга секции [Colors] и [Colors2]
'Требования: Для вызова внутренней команды cm_ColorConfig назначить комбинацию клавиш Ctrl+9
'-------------------------------------------------------------------------------------------
Option Explicit
Dim FSO, WSH, F, Str1 , Str2, Text
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
F = FSO.GetAbsolutePathName(WSH.ExpandEnvironmentStrings("%COMMANDER_INI%"))
Str1 = vbNewLine & "[Colors]"
Str2 = vbNewLine & "[Colors2]"
Text = FSO.OpenTextFile(F, 1).ReadAll
If InStr(1, Text, vbNewLine & "C+9=cm_ColorConfig", 1) > 0 Then
Text = Replace(Text, Str1, Str1 & "#", 1, -1, 1)
Text = Replace(Text, Str2, Str1, 1, -1, 1)
Text = Replace(Text, Str1 & "#", Str2, 1, -1, 1)
FSO.OpenTextFile(F, 2).Write Text
WSH.SendKeys "^9+{TAB 5} {ENTER}" ' ^9 - вызов cm_ColorConfig комбинацией Ctrl+9
If InStr(1, Text, "activeTitle", 1) > 0 Then WSH.SendKeys "{TAB 2}"
Else
MsgBox "Назначьте на Ctrl+9 команду cm_ColorConfig", vbOKOnly + vbCritical,"Ошибка"
End If
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit |
|
|