Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Перенос кнопки иконбара в меню запуск 
Author Message
Batya



PostPosted: Thu Jun 15, 2006 15:56    Post subject: Reply with quote

vbs-скрипт, использующий Script Helper:
Code:
'========================================================
' Копирование кнопки из панели TC в меню "Запуск"
' Предварительно на кнопке надо выполнить "Копировать"
'========================================================
Option Explicit
Dim TCS, i, ClipB, PosCr, PosCrNext, Name, Cmd, Params, ExecPath, Iconic
Set TCS = CreateObject("TCScript.Helper")
i = 1
ClipB = TCS.GetTextFromClip
' Ищем перенос строки
PosCr = InStr(ClipB, vbCr)
if PosCr > 0 then
  ' Если перевая строка соответствует синтаксису кнопки
  if StrComp(Left(ClipB, PosCr - 1), "TOTALCMD#BAR#DATA", 1) = 0 then
    ' Ищем следующий номер для пункта меню
    Do While TCS.INIRead(TCS.MainINI, "user", "menu" & i, "") <> ""
      i = i + 1
    Loop
    ' Ищем строку команды
    PosCrNext = InStr(PosCr + 1, ClipB, vbCr)
    Cmd = Mid(ClipB, PosCr + 2, PosCrNext - PosCr - 2)
    PosCr = PosCrNext
    ' Ищем строку параметров
    PosCrNext = InStr(PosCr + 1, ClipB, vbCr)
    Params = Mid(ClipB, PosCr + 2, PosCrNext - PosCr - 2)
    PosCr = PosCrNext
    ' Ищем пропускаем строку
    PosCrNext = InStr(PosCr + 1, ClipB, vbCr)
    PosCr = PosCrNext
    ' Ищем наименование
    PosCrNext = InStr(PosCr + 1, ClipB, vbCr)
    Name = Mid(ClipB, PosCr + 2, PosCrNext - PosCr - 2)
    PosCr = PosCrNext
    ' Ищем путь запуска
    PosCrNext = InStr(PosCr + 1, ClipB, vbCr)
    ExecPath = Mid(ClipB, PosCr + 2, PosCrNext - PosCr - 2)
    PosCr = PosCrNext
    ' Ищем флажки
    PosCrNext = InStr(PosCr + 1, ClipB, vbCr)
    Iconic = Mid(ClipB, PosCr + 2, PosCrNext - PosCr - 2)
    if Cmd <> "" then
      if Name <> "" then
        TCS.INIWrite TCS.MainINI, "user", "menu" & i, Name
      else
        TCS.INIWrite TCS.MainINI, "user", "menu" & i, Cmd
      end if
      TCS.INIWrite TCS.MainINI, "user", "cmd" & i, Cmd
      if Params <> "" then
        TCS.INIWrite TCS.MainINI, "user", "param" & i, Params
      end if
      if ExecPath <> "" then
        TCS.INIWrite TCS.MainINI, "user", "path" & i, ExecPath
      end if
      if Iconic <> "" then
        TCS.INIWrite TCS.MainINI, "user", "iconic" & i, Iconic
      end if
      ' Перечитаем меню
      TCS.LockTC True
      TCS.SendCommand "cm_ChangeStartMenu"
      TCS.SendKeystroke "{Enter}"
      TCS.LockTC False
    end if
  end if
end if
Set TCS = Nothing
Wscript.Quit
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group