Перенос кнопки с тулбара в меню
Q: Все вы прекрасно знаете как быстро и мгновенно можно создать кнопку в иконбаре, и как долго и мучительно пункт в меню "запуск". По этому случаю у меня просьба к скриптописателям - напишите скрипт, который копирует кнопку и вставляет её в меню "Запуск".
A: vbs-скрипт, использующий Script Helper:
'========================================================
' Копирование кнопки из панели TC в меню "Запуск"
' Предварительно на кнопке надо выполнить "Копировать"
'========================================================
Option Explicit
Dim TCS, IniFile, i, ClipB, Data, Name, Cmd, Params, ExecPath, Iconic, MenuLimit, FindMenu
Set TCS = CreateObject("TCScript.Helper")
ClipB = TCS.GetTextFromClip
Data = Split(TCS.GetTextFromClip(), vbCrLf)
' Если первая строка соответствует синтаксису кнопки
if StrComp(Data(0), "TOTALCMD#BAR#DATA", 1) = 0 then
' Получаем пути ини-файлов TC
TCS.GetIniFiles
IniFile = TCS.MainINI
MenuLimit = 200
FindMenu = 0
' Ищем следующий номер для пункта меню
For i = 1 To MenuLimit
If Len(TCS.INIRead(IniFile, "user", "menu" & i, "")) = 0 Then
FindMenu = 1
Exit For
End If
Next
' Добавляем меню, только если есть номера до MenuLimit включительно
If FindMenu = 1 Then
Cmd = Data(1)
Params = Data(2)
Name = Data(4)
ExecPath = Data(5)
Iconic = Data(6)
If Cmd <> "" Then
If Name <> "" Then
TCS.INIWrite IniFile, "user", "menu" & i, Name
Else
TCS.INIWrite IniFile, "user", "menu" & i, Cmd
End If
TCS.INIWrite IniFile, "user", "cmd" & i, Cmd
TCS.INIWrite IniFile, "user", "param" & i, Params
TCS.INIWrite IniFile, "user", "path" & i, ExecPath
TCS.INIWrite IniFile, "user", "iconic" & i, Iconic
' Перечитаем меню
TCS.SendCommand "cm_ChangeStartMenu"
TCS.SendKeystroke "{Enter}"
End If
End If
End If
Set TCS = Nothing
Wscript.Quit