WSH + TCScript = мощное средство автоматизации TC!

Форум о самом популярном файловом менеджере Total Commander

Сообщение MaxUpgrader » Чт июн 03, 2004 9:16 am

а где взять полный список команд TCScript?
MaxUpgrader
Призывник
 
Сообщений: 1
Зарегистрирован: Чт июн 03, 2004 9:01 am
Пункты репутации: 0

Сообщение SAM » Чт июн 03, 2004 2:24 pm

2MaxUpgrader
не понял ... :-/
Все документированные свойства и методы описаны в ReadMe.txt
Если разговор про метод SendCommand (имя или номер команды), то список всех доступных команд Тотала находится в TOTALCMD.INC (или по-красившее, по-полнее и с комментариями - <a href='http://mozers.da.ru/tc/all_cmd.htm' target='_blank'>вот тут</a> :)
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение SAM » Чт июн 03, 2004 3:02 pm

2ALL
Очень хотелось бы услышать в этом топике мнения о функционале TCScript (с) Volniy
Какие свойства и методы хотелось бы вам в нем иметь?
Какие его возможности вы считаете излишними?
Не уверен, что все ваши пожелания будут учтены разработчиком, но мне одному с ним точно не справиться ;)

- Лично мне очень не хватает свойства IniPath (для точного определения полного пути к wincmd.ini).
- Неплохо, что можно задавать команды для SendCommand не только в цифровом виде, но и по имени, но определять путь к файлу TOTALCMD.INC лучше бы автоматом.
- А формы с контролами, я думаю, все таки лучше использовать IE-шные, а не пытаться создать что то свое, т.к. это свое всегда будет на порядок примитивнее :(
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение StayAtHome » Чт июн 03, 2004 10:23 pm

Касательно TSCript.
Первое, что бросилось "в глаза" -- не полностью корректная работа SendKeys:
При включенно английской раскладке в ТС вместо символов кириллицы получаются одни знаки "?". Я в курсе, что это проблема скорее WindowsXP чем TSCript, но все-же надо бы ее как-нибудь научится обходить.
Если же перед вызовом SendKeys переключится на русскую раскладку -- становится невозможным послать символы типа ";%:?*()+/" и т. д. -- вместо них шлются иногда символы русской раскладки размещенные на соответствующих клавишах, а иногда -- вообще ничего. :-(
Еще нужна возможность получить путь к файлику под курсором как на активной так и на неактивной панели (вне зависимости от количества выбранных файлов). Путь к каталогу открытому в активной и пасивной панелях тоже не помешал бы отдельно.
2SAM
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> А формы с контролами, я думаю, все таки лучше использовать IE-шные, а не пытаться создать что то свое, т.к. это свое всегда будет на порядок примитивнее Изображение<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--> Не совсем согласен. Все-таки IE-шные формы неудобно генерировать динамически из скрипта. Вот тут зачатки ShowForm очень пригодились бы. Ведь есть же стандартный функции MsgBox, Popup, InputQuery -- почему бы к ним не добавить еще пару штук -- для отображения нескольких флажков (радиокнопок, комбобоксов и т. д.). ИМХО IE нужен для сложных форм -- диалогов настройки и т. п. которые заранее разрабатываются. А из скрипта нужен доступ к простым функциям для ввода одного-двух параметров или для вывода более наглядной информации. Даешь поддержку тегов <b> и <color> в MsgBox! :-))))))))))))))) А че -- было бы неплохо и удобно! ;-)

Теперь о самом WSH. Наверно я торможу, но у меня RegDelete отказывается удалять непустой раздел реестра! Приходится по отдельности убивать каждый подключ, а уж потом -- родительский раздел. Между тем в вышеприведенной книге Гюнтера Борна говорится, что <!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->If a key contains other subkeys or values, all entries are deleted automatically.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--> Где правда?!
И еще -- кто поделится ссылкой на вторую книгу: Advanced Development with Microsoft Windows Script Host 2.0 того же автора? Там он интересные вещи обещает рассказать!
Последний раз редактировалось StayAtHome Чт июн 03, 2004 10:31 pm, всего редактировалось 1 раз.
<span style='color:gray'>Жизнь -- это песня!</span>
<span style='font-family:Courier'>Life.exe /?</span>
StayAtHome
Подполковник
 
Сообщений: 710
Зарегистрирован: Вс фев 09, 2003 11:30 pm
Откуда: Украина
Пункты репутации: 0

Сообщение StayAtHome » Чт июн 03, 2004 11:05 pm

CD Eject.vbs
Код: выделить все
'Скрипт для извлечения лотка CD-ROM
'Автор неизвестен.
'Для работытебуется установленный Windows Media Player версии не ниже 7.0

Set oWMP = CreateObject("WMPlayer.OCX.7" )
Set colCDROMs = oWMP.cdromCollection

if colCDROMs.Count >= 1 then
       For i = 0 to colCDROMs.Count - 1
               colCDROMs.Item(i).Eject
       Next ' cdrom
End If

Set oWMP = Nothing
Set colCDROMs = Nothing
<span style='color:gray'>Жизнь -- это песня!</span>
<span style='font-family:Courier'>Life.exe /?</span>
StayAtHome
Подполковник
 
Сообщений: 710
Зарегистрирован: Вс фев 09, 2003 11:30 pm
Откуда: Украина
Пункты репутации: 0

Сообщение SAM » Пт июн 04, 2004 1:54 pm

2StayAtHome
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Я в курсе, что это проблема скорее WindowsXP чем TSCript, но все-же надо бы ее как-нибудь научится обходить.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Да, это - проблема ХР. Обходится так:
Код: выделить все
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"

А вообще SendKeys работает так же, как аналогичный метод WSH :(
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->почему бы к ним не добавить еще пару штук -- для отображения нескольких флажков (радиокнопок, комбобоксов и т. д.)<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Имхо в жисть не угадать никому что может понадобится (какие, сколько, как расположены и пр.)
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->RegDelete отказывается удалять непустой раздел реестра!<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Видимо и я тоже торможу. Всю жисть считал это нормой. Надо посмотреть...

Насчет примеров. WSH Sample:
<a href='http://www.w3schools.com/vbscript/vbscript_examples.asp' target='_blank'>http://www.w3schools.com/vbscript/vbscript_examples.asp</a>
<a href='http://www.robvanderwoude.com/wshexamples_0o.html' target='_blank'>http://www.robvanderwoude.com/wshexamples_0o.html</a>
<a href='http://cwashington.netreach.net/depo/' target='_blank'>http://cwashington.netreach.net/depo/</a>
и оттуда ссылы идут дальше...
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение SAM » Сб июн 05, 2004 7:15 am

По совету Гюнтера Борна поставил PrimalSCRIPT. Монстр, конечно, (дистрибутив больше 3,5 Мб) но возможностей - безмерно. Не думаю, что всем нужен (большинство скриптов можно с успехом написать в Блокноте), но если ваше увлечение зашло слишком далеко, то мощнее редактора вряд ли найдете. [s](Версию без ограничений у меня не спрашивайте - не обладаю)[/s]
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение SAM » Сб июн 05, 2004 9:41 pm

Что то меня достало, что по F4 любой файл всегда открывается в одном и том же редакторе.
Вот и сляпал на скорую руку маленький скрипт:
<a href='http://mozers.da.ru/tc/wsh/tc_de.zip' target='_blank'>Total Commander Dispatcher Editors</a>
Прописываем в скрипте свои любимые редакторы и соответствующие им расширения файлов, которые эти редакторы обрабатывают. Прописываем этот скрипт в настройках Тотала заместо программы-редактора. Наслаждаемся полученным результатом :)
Кстати, вместо редактора в скрипте можно задать любую программу. Все зависит от вашей фантазии.
Из замеченных недостатков - про Shift+F4 можно забыть :(((
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение Evgenych » Вс июн 06, 2004 3:31 pm

А нельзя ли с помощью WSH + TCScript делать свои менюшки типа Directory Hotlist ( одноуровневые пойдут Изображение )?
Например, нажимаешь F4, а там меню с кучей редакторов и по цифирке выбираешь какой надо.
Для меня было бы очень удобно. Изображение

P.S. "А нельзя ли..." = "Хочу..."
Последний раз редактировалось Evgenych Вс июн 06, 2004 3:38 pm, всего редактировалось 1 раз.
Evgenych
Прапор
 
Сообщений: 66
Зарегистрирован: Пт июл 11, 2003 3:38 pm
Пункты репутации: 0

Сообщение SAM » Пн июн 07, 2004 7:24 am

2Evgenych
Хочешь - сделай :) Как создать html форму подробно описал StayAtHome на предыдущей странице. Только имхо - неудобно это - каждый раз выбирать...
Потом контекстное меню Windows еще никто не отменял - проще туда запузырить ;)
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение Evgenych » Пн июн 07, 2004 11:47 am

<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Кстати, вместо редактора в скрипте можно задать любую программу. Все зависит от вашей фантазии.
Из замеченных недостатков - про Shift+F4 можно забыть Изображение((
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Если скрипт запихнуть в меню пуск и повесить F4, то про Shift-F4 можно вспомнить Изображение))

<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Потом контекстное меню Windows еще никто не отменял - проще туда запузырить Изображение
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Да ну! В контекстное меню и так все кому не лень что-нибудь запузыривают! Изображение
В принципе можно было бы и в directory hotlist запузырить, но получиться каша.

То что я хочу, на программистском языке называется, кажется, PopupMenu.

Так вот, можно ли делать свои PopupMenu с помощью WSH + TCScript?
(не связываясь с html Изображение
Evgenych
Прапор
 
Сообщений: 66
Зарегистрирован: Пт июл 11, 2003 3:38 pm
Пункты репутации: 0

Сообщение SAM » Вт июн 08, 2004 5:21 am

2Evgenych
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Если скрипт запихнуть в меню пуск и повесить F4, то про Shift-F4 можно вспомнить :))) <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Молодец! А я не догадался :-&
Для тех, кто не въехал сразу:
Добавляем в меню Запуск команду (пусть она будет первой - так проще):
Команда: G:\Program Files\Total Commander\AddOn\WSH\TC_DE.vbs
Параметры: %n
Затем добавляем в файл WINCMD.INI (или как он у вас называется):
[Shortcuts]
F4=701
Если секция [Shortcuts] уже существует - добавляем в ее. Вместо "701" можно написать "cm_UserMenu1" (это все, при условии, что наша команда - первая, если она вторая, то и вставлять надо "cm_UserMenu2" ("702")... ну и т.д.)
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->можно ли делать свои PopupMenu с помощью WSH + TCScript?<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Свои меню появляются только в своей среде. Т.е. надо написать свою программу файловый менеджер, а в ней уже можно делать что угодно. Так что дело тут не в WSH.
2StayAtHome
Прав Гюнтер насчет реестра. Раздел удаляется целиком (независимо от наличия/отсутствия в нем ключей и их значений. Вот только если только в этом разделе имеется подраздел, то надо сначала грохать его.
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение Evgenych » Вт июн 08, 2004 5:21 pm

<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Кстати, вместо редактора в скрипте можно задать любую программу. Все зависит от вашей фантазии.
Из замеченных недостатков - про Shift+F4 можно забыть ((
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Если скрипт запихнуть в меню пуск и повесить F4, то про Shift-F4 можно вспомнить ))
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
... и забыть про F4 в архивах :(((
Evgenych
Прапор
 
Сообщений: 66
Зарегистрирован: Пт июл 11, 2003 3:38 pm
Пункты репутации: 0

Сообщение SAM » Чт июн 10, 2004 12:06 pm

2Evgenych
Если нельзя, но ОЧЕНЬ хочется, то - можно :)
Держите чуть поправленный скрипт (это чтоб нормально в архивах работало)
С инструкцией по установке (это чтоб Shift+F4 не потерять)
Все там же - <a href='http://mozers.da.ru/tc/wsh/tc_de.zip' target='_blank'>http://mozers.da.ru/tc/wsh/tc_de.zip</a>
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение Spine » Чт июн 10, 2004 3:43 pm

2SAM
а почему в TC_DE.vbs у редактора по умолчанию %COMMANDER_PATH% работает, а при выборе в зависимости от расширения нет? :-(
Spine
Лейтенант
 
Сообщений: 84
Зарегистрирован: Вс июл 06, 2003 6:22 am
Пункты репутации: 0

Пред.След.

Вернуться в Total Commander

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

cron