горячая клавиша для кнопки на панели

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

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

Закрыто
Аватара пользователя
Zarg
Сообщения: 23
Зарегистрирован: Ср апр 04, 2007 09:50
Откуда: Murmansk

горячая клавиша для кнопки на панели

Сообщение Zarg »

сделал кнопку:

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

TOTALCMD#BAR#DATA 
c:\Program Files\7-Zip\7z.exe
a -tzip -r %E.zip @%L -mx9
C:\Program Files\7-Zip\7zFM.exe
работает так как задуманно, только хотелось бы вызывать горячей клавишей. Подскажите можно повесить хоткей для кнопки? Хотел переделать кнопку в bat файл и назначить хоткей, только не сумел передать параметры %L %E
Поможите, как это можно осуществить?
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Ну, в батнике без специальной подготовки %L дейстительно обработать непросто. А тебе следует создать пользовательскую команду em_. Посмотри, есть ли рядом с wincmd.ini (где он живет, написано в Help\About) файл по имени usercmd.ini. Если нет (скорее всего), то формат примерно таков:

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

[em_UnplugF]
cmd=d:\Utils\DevEject\deveject.exe
param=-EjectDrive:F
menu=Unplug USB
Значение полей такое же, как в коде кнопки. А далее открываешь диалог назначение горячей клавиши и в разделе usercmd.ini видишь свою команду (возможно, потребуется перезапуск Тотала).

Добавлено
А еще проще воспользоваться Start menu - там создание пользовательской команды более автоматизировано.
Последний раз редактировалось Вахмурка Вт апр 27, 2010 16:25, всего редактировалось 1 раз.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Удалил, дабы не заморачивать :)
Последний раз редактировалось sa Вт апр 27, 2010 16:31, всего редактировалось 1 раз.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

2sa
Не заморачивай товарища скриптами там, где етсть более простые встроенные решения.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Zarg
Сообщения: 23
Зарегистрирован: Ср апр 04, 2007 09:50
Откуда: Murmansk

Сообщение Zarg »

Вахмурка спасибо большое , получилось
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Вахмурка писал(а):Посмотри, есть ли рядом с wincmd.ini (где он живет, написано в Help\About) файл по имени usercmd.ini. Если нет (скорее всего), то формат примерно таков:
Вахмурка писал(а):Не заморачивай товарища скриптами там, где етсть более простые встроенные решения.
:) Ну, вообще-то и для создания команды есть встроенные решения.
Достаточно при назначении горячей клавиши в списке команд в секции команд "usercmd.ini" нажать кнопку "Новая" и заполнить поля так же, как в кнопке.
Нет, я не сплю. Я просто медленно моргаю.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Вахмурка
Batya
А чтобы назначить горячую клавишу для кнопки с выпадающим меню, не посоветуете какое-нибудь встроенное решение? Реализация скриптом самому не нравится.
Аватара пользователя
NapA
Сообщения: 8
Зарегистрирован: Сб июн 16, 2007 01:05
Контактная информация:

Re: горячая клавиша для кнопки на панели

Сообщение NapA »

Zarg писал(а):Поможите, как это можно осуществить?
Я делаю это так. Создаю в файле usercmd.ini пользовательскую команду, для Вашего случая это будет выглядеть так:

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

[em_7zip]
cmd=c:\Program Files\7-Zip\7z.exe
param=a -tzip -r %E.zip @%L -mx9
path=
button=C:\Program Files\7-Zip\7zFM.exe
menu=7-Zip (Ctrl+Shift+F12)
Затем захожу в настройки тулбара, нажимаю "Добавить", в добавленной кнопке выбираю команду (в данном случае "em_7zip" смотрите в категории usercmd.ini), нажимаю ОК 2 раза :) Все, кнопка с командой добавлена на тулбар. Далее открываю настройки тотала (Настройка: разное), выбираю сочетание горячей клавиши (в данном случае я решил, что это будет Ctrl+Shift+F12) и выбираю ту же самую команду, в нашем случае em_7zip. Всё.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

назначить горячую клавишу для кнопки с выпадающим меню
Ну ты, барин, и задачки ставишь.
Сейчас попробовал - да, лобовое решение не работает. Вроде бы, встроенными средствами сделать этого нельзя. Так что либо обходиться без, либо использовать столь нелюбимые тобой скрипты.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Вахмурка писал(а):столь нелюбимые тобой скрипты.
:) Это не про меня! Просто реализация скрипта для этой конкретной задачи вызова выпадающего меню оказалась сопряжена с существенным минусом, от которого хочется избавиться тем или иным способом.
laburj
Сообщения: 186
Зарегистрирован: Пн мар 07, 2005 07:04

Сообщение laburj »

для меня также актуален этот вопрос.
делаю так же, как описал Batya, но поочерёдно заполнять поля так же, как в кнопке не особо хочется. Было бы очень удобно после нажатия кнопок "Новая.."/"Правка..." в списке команд в появившемся окне иметь кнопку: "Вставить код кнопки находящейся в буфере обмена" и после её нажатия поля были заполнены.
Аватара пользователя
shveicar
Сообщения: 277
Зарегистрирован: Пн апр 18, 2011 01:54
Откуда: Россия Москва

Сообщение shveicar »

Здравствуйте. подскажите как создать кнопку, для сочетания клавиш (Ctrl+Shift+F1) комбинация которых по умолчанию, переводит панель в просмотр эскизов. Пытался назначить для этой комбинации команду, и добавить ее в кнопку, но все время выдает, - что файл не найден. Спасибо.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

А что запускаешь-то кнопкой и комбинацией? Если запускать то, что не может быть запущено, или указывать неверный путь, вполне логично, что будет возникать ошибка.
Аватара пользователя
shveicar
Сообщения: 277
Зарегистрирован: Пн апр 18, 2011 01:54
Откуда: Россия Москва

Сообщение shveicar »

MVV писал(а):А что запускаешь-то кнопкой и комбинацией?
Поясню: При открытии в панели totala - папки с файлами, если нажать сочетание клавиш (Ctrl+Shift+F1) появятся изображения мини эскизов содержимого. (Ctrl+F2) - отменяет режим. Теперь, если зайти в настройки, разное, переопределить горячие клавишы: и выбрать для этого сочетания команду, заданную (в usercmd.ini,) в моем случае (em_eskiz). То при вызове этой команды должны отобразиться мини эскизы, но этого не происходит, - возможно надо в ручную редактировать надпись в usercmd.ini но что там нужно указать для того, чтобы это сочетание (Ctrl+Shift+F1) работало?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

shveicar
Сама задача "создать кнопку для клавиш" (равно как и "создать клавиши для кнопки") абсурдна по определению.
На самом деле, как легко видеть хотя бы по двум предыдущим примерам, клавиши просто назначаются для em-команды, которая либо дублируется кнопкой (ибо диалоги настройки em-команды и кнопки практически одинаковые), либо для неё же самой кнопка и создаётся. Если назначенные em-команде клавиши не работают, то следует, разумеется, проверить, действительно ли они ей назначены и работает ли ожидаемым образом сама em-команда без всяких клавиш (например, из командной строки). Это всё много раз пояснялось. Читаем справку и материалы форума.
Кроме того, последний запрос — это ещё и оффтоп, не имеющий вообще никакого отношения к подфоруму по автоматизации.
В силу вышесказанного считаю, что тему пора закрывать.
P.S. А режим эскизов отменяется на самом деле (с возвратом к предыдущему режиму) повторным применением команды, его устанавливавшей. Или переходом в любой другой конкретный режим. Это так, к слову.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Закрыто