View previous topic :: View next topic |
Author |
Message |
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Tue Mar 24, 2009 19:50 Post subject: Создание кнопки TC по ярлыку |
|
|
Представляю вариант создания кнопки для TC через контекстное меню ярлыков.
Создаем CopyTCButton.vbs:
Code: | '============================================================================
' Через контекстное меню для ярлыка копируется в буфер кнопка TC,
' аналогичная ярлыку.
' В системе должен быть установлен TCScript.Helper.
'
' Параметры скрипта - имя файла ярлыка
'
' Автор - Batya
'============================================================================
Option Explicit
Dim FSO, WSH, TCS, Mess, LinkFile, Clipboard, LNK
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
Set TCS = CreateObject("TCScript.Helper")
'Задаем массив сообщений
MessDefine
'Проверяем параметры
CheckParams
Set LNK = WSH.CreateShortcut(LinkFile)
Clipboard = "TOTALCMD#BAR#DATA" & vbNewLine &_
LNK.TargetPath & vbNewLine &_
LNK.Arguments & vbNewLine
If Left(LNK.IconLocation, 1) = "," Then Clipboard = Clipboard & LNK.TargetPath
Clipboard = Clipboard &_
LNK.IconLocation & vbNewLine &_
FSO.GetBaseName(LinkFile) & vbNewLine &_
LNK.WorkingDirectory & vbNewLine
Select Case LNK.WindowStyle
Case 3 Clipboard = Clipboard & -1
Case 7 Clipboard = Clipboard & 1
Case Else Clipboard = Clipboard & ""
End Select
Clipboard = Clipboard & vbNewLine & "-1"
TCS.SetTextToClip(Clipboard)
'Выход
Quit
'===== Процедуры и функции ====================================================
'Проверка входных параметров
Sub CheckParams
With WScript
If .Arguments.Count = 0 Then
MsgBox Mess(1), vbCritical + vbOKOnly, Mess(0)
Quit
End If
LinkFile = .Arguments(0)
End With
If Not FSO.FileExists(LinkFile) Then
MsgBox Mess(2), vbCritical + vbOKOnly, Mess(0)
Quit
End If
End Sub
'Описание сообщений
Sub MessDefine
Set Mess = CreateObject("Scripting.Dictionary")
With Mess
.Add 0, "Копирование кнопки TC"
.Add 1, "Не указано имя файла ярлыка!"
.Add 2, "Указанный ярлык не существует!"
End With
End Sub
'Выход
Sub Quit
Set Mess = Nothing
Set TCS = Nothing
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit
End Sub |
Далее правим реестр (создаем reg-файл, который потом запускаем):
Quote: | Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\lnkfile\shell]
@="Open"
[HKEY_CLASSES_ROOT\lnkfile\shell\Copy TC Button]
@="Copy as TC Button"
[HKEY_CLASSES_ROOT\lnkfile\shell\Copy TC Button\Command]
@="\"C:\\Windows\\System32\\wscript.exe\" \"C:\\TotalCmd\\Utils\\WHS\\CopyTCButton.vbs\" \"%1\" " |
Здесь:
красным - название пункта контектсного меню,
синим - ваш путь к файлам ОС,
зеленым - ваш путь к вышеприведенному скрипту.
Примечение - при создании reg-файла все пути должны быть с двумя слэшами, как в указанном примере.
В итоге для ярлыков создался пункт контекстного меню, при исполнении которого в буфер вносится код кнопки. И теперь достаточно на любой панели TC выполнить "Вставить", чтобы создалась кнопка, аналогичная ярлыку. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Wed Mar 25, 2009 13:37 Post subject: |
|
|
Вахмурка
Видимо, меня не совсем правильно поняли.
Из твоих скриптов это аналог Shortcut2Button.
Основное отличие применения - я предлагаю сделать пункт меню по правой кнопке мыши на ярлыке.
Т.о. на любом ярлыке (например, на Рабочем столе или в Главном меню по кнопке Пуск) нажимаем правую кнопку мыши, выбираем "Copy as TC Button" и получаем образ кнопки в буфере.
Очень удобно после установки какой-либо программы в пару кликов мыши сделать кнопку в TC, аналогичную ярлыку на Рабочем столе. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Wed Mar 25, 2009 13:40 Post subject: |
|
|
Почему же, я тебя правильно понял, потому что у тебя все понятно написано.
Мой пост можно снабдить подзагловком "Кстати, еще о ярлыках и кнопках ТС...". _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
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
|