Кнопка вкл\выкл "внутренние ассоциации"

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

HA3APET писал(а):Это не пауза.. это задержка
Да, просто я дал дословный перевод с английского. К Sleep это конечно не относится.
HA3APET писал(а):Запускается Настройка панели инструментов, фокус ставится на OK, то есть выполняется
Код:
.SendKeystroke "{Tab}"
По началу в указанной ветке предлагался двойной вызов команды TCS.SendCommand(2901), он по идее ещё более тормазной.
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

Люди ещё бы хотелось в наш с вами скрипт прикрутить регистрацию TCWSHelp.exe и можно будет считать скрипт готовым к употреблению.
Знаю, что это возможно, так как это реализовано например тут
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

По моему мнению, в скрипт дополнительную регистрацию добавлять не надо, для регистрации хелпера необходимо один раз его изначально зарегистрировать и всё... В почти каждой сборке (и в сборке личной) есть файл регистрации программ, утилит, плагинов, dll, ocx... - один раз нажал и всё зарегистрировалось. Представь у меня скриптов с использованием хелпера 100 штук, и что, теперь в каждый добавлять регистрацию? Хотя это только моё мнение...
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

Andrey_A
Скрипт планируется использовать в портативной сборке Тотала, по-этому нужно регистрацию TCWSHelp.exe делать автоматически, в данном случаи прямо в скрипте.

Я вот приведу свой пример в противовес вашему. Допустим скрипт используется с флешки и такой скрипт всего один, то не удобно на каждом компьютере регистрировать ради него TCWSHelp.exe
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Andrey_A писал(а):По моему мнению, в скрипт дополнительную регистрацию добавлять не надо, для регистрации хелпера необходимо один раз его изначально зарегистрировать и всё...
Полностью согласен.
HA3APET писал(а):Допустим скрипт используется с флешки и такой скрипт всего один, то не удобно на каждом компьютере регистрировать ради него TCWSHelp.exe
А какая разница, будет Helper регистрироваться отдельной кнопкой или внутри какого-либо скрипта?
Нет, я не сплю. Я просто медленно моргаю.
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

Batya писал(а):А какая разница, будет Helper регистрироваться отдельной кнопкой или внутри какого-либо скрипта?
Разница всего одна - количество нажатий.
Если кнопка будет юзаться с флешки, то ведь предварительно нужно зарегистрировать Helper иначе кнопка неработоспособна. Хочется чтобы данная кнопка была самодостаточна.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

HA3APET писал(а):не удобно на каждом компьютере регистрировать ради него TCWSHelp.exe
Может для удобства воспользоваться командой ShellExec в плагине Autorun? Тогда Helper будет регистрироваться при запуске TC.
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

sa
Отличный плагин как раз вчера задался его поиском, спасибо вам за него, обязательно воспользуюсь, но для других целей. А тут всё таки хотелось бы регистрацию в самом скрипте.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

HA3APET писал(а):спасибо вам за него
Это Loopback спасибо!
HA3APET писал(а):воспользуюсь, но для других целей
А чем для данного случая не подходит?
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

HA3APET писал(а):Разница всего одна - количество нажатий.
Если кнопка будет юзаться с флешки, то ведь предварительно нужно зарегистрировать Helper иначе кнопка неработоспособна. Хочется чтобы данная кнопка была самодостаточна.
Разве проблема, сделать отдельную кнопку\команду "TCWSHelp.exe /REGSERVER"?
Одно лишнее нажатие, а заморочек на порядок меньше.
Нет, я не сплю. Я просто медленно моргаю.
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

sa писал(а):А чем для данного случая не подходит?
Подходит, но...
Тут Helper будет регистрироваться при каждом запуске Тотала.
Если бы регистрировался при запуске скрипта, то было бы более элегантно.
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

Batya писал(а):Одно лишнее нажатие, а заморочек на порядок меньше.
Получается, что овчинка не стоит выделки и заморочки довольно существенны ради небольшого удобства?
Если так, то буду искать другие способы. Как вариант Autorun.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

HA3APET писал(а):Разница всего одна - количество нажатий.
Если не хочется нажимать две кнопки, можно сделать третью, которая это сделает за вас. Пример скрипта:

Код: Выделить всё

'============================================================== 
' Нажимает последнюю и предпоследнюю кнопки панели инструментов
'с интервалом в полсекунды
'============================================================== 
Dim WSH
Set WSH = WScript.CreateObject("WScript.Shell")
WSH.SendKeys "%+{F11}{END}{ENTER}"
wscript.sleep(500)                       'интервал
WSH.SendKeys "%+{F11}{END}{LEFT}{ENTER}"
Set WSH = Nothing
Wscript.Quit
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

Нажимает последнюю и предпоследнюю кнопки панели инструментов

У меня вообще этих кнопок нет в на панели инструментов, они у меня в меню... и поэтому этот вариант... не для всех
Ну если всё же хочется регистрировать Helper при запуске скрипта, то пришла такая идея через ком строку:

Код: Выделить всё

TOTALCMD#BAR#DATA
%ComSpec% /c (start TCWSHelp.exe) && (start YesNoAssociations.vbs)

%COMMANDER_PATH%\Wcmicons.dll,135
Запуск Helper и Вкл\выкл внутренних ассоциаций
%COMMANDER_PATH%\Utilities\Tcwshelp\
1
-1
скрипт необходимо положить в папку с Helper
пути и значок ставите свои
Если что доработаете... у меня вроде срабатывает
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Я считаю предложение sa с Autorun.wdx куда более уместное. Иначе каждый скрипт, который будет запускаться не на домашней машине, придётся вызывать совместно с запуском Хелпера из cmd, либо батником, а скрипты загонять в ту же папку либо прописывать относительные DOS-пути до них.
Ответить