Так они в этой кнопке и склеиваются. Почему потом?Avada писал(а):а потом для TCMC с параметрами создаётся итоговая кнопка
Запуск копии Total Commander с сохранёнными настройками
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Формировать параметры TCMC также можно (хотя, разумеется, и не обязательно) не сразу в кнопке, а в em-команде, которую затем использовать для кнопки или, если захочется, вызывать клавишами. Я так достаточно часто делаю.Flasher писал(а):Почему потом?
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Avada
У меня такие тоже есть, где нужно иметь и кнопку и хоткей. Но для такой задачи создавать две пользовательские + одну кнопку - многовато, ИМХО.
У меня такие тоже есть, где нужно иметь и кнопку и хоткей. Но для такой задачи создавать две пользовательские + одну кнопку - многовато, ИМХО.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
В общем для тех кого заинтересовал этот вопрос, и не хочется "парить мозги" - готовое решение:
>> Кнопка:
Где:
50 - пауза в миллисекундах; меньше не надо, а то выведет ошибку (как далее выяснится не нужен)
CM580 - cm_ConfigSaveSettings (580 номер команды Сохранить настройки)
"EMem_TC" - пользовательская команда em_TC
>> em_команда (пользовательская, категория usercmd.ini):
Имя команды: em_TC
Команда: %COMMANDER_EXE%
>> Кнопка:
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\Tools\TCMC\TCMC.exe
50 CM580 "EMem_TC"
%COMMANDER_EXE%
Запуск копии Total Commander
-150 - пауза в миллисекундах; меньше не надо, а то выведет ошибку (как далее выяснится не нужен)
CM580 - cm_ConfigSaveSettings (580 номер команды Сохранить настройки)
"EMem_TC" - пользовательская команда em_TC
>> em_команда (пользовательская, категория usercmd.ini):
Имя команды: em_TC
Команда: %COMMANDER_EXE%
Последний раз редактировалось ALev Пт май 24, 2013 09:18, всего редактировалось 2 раза.
ALev
Некоторые комментарии к представленному решению:
Параметры TCMC вполне можно было указать всё в том же поле "Команда", не перенося их в поле "Параметры".
Зачем указывать паузу перед выполнением сохранения настроек, не понял. У меня и без неё всё прекрасно работает. И, разумеется, пауза обозначается не в микросекундах, а в миллисекундах.
В пользовательской команде для запуска новой копии TC, если решение претендует на универсальность, надо после переменной добавлять /N.
Некоторые комментарии к представленному решению:
Параметры TCMC вполне можно было указать всё в том же поле "Команда", не перенося их в поле "Параметры".
Зачем указывать паузу перед выполнением сохранения настроек, не понял. У меня и без неё всё прекрасно работает. И, разумеется, пауза обозначается не в микросекундах, а в миллисекундах.
В пользовательской команде для запуска новой копии TC, если решение претендует на универсальность, надо после переменной добавлять /N.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Действительно, логично было бы делать её перед запуском копии.Avada писал(а):Зачем указывать паузу перед выполнением сохранения настроек, не понял.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Итоговый вариант кнопки, с рекомендациями специалистов:
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\Tools\TCMC\TCMC.exe CM580 "EMem_TC"
%COMMANDER_EXE%
Запуск копии Total Commander
-1
Вообще, если CM-команды посылаются через SendMessage, тотал вообще не вернет управление до завершения выполнения команды, так что пауза вообще не нужна. А TCMC посылает их именно так, что легко проверить командой TCMC CM502 - утилита будет ожидать возврата управления и висеть в памяти, пока диалог изменения атрибутов не закроется, и только потом завершится.
Кстати, я не понял ещё, зачём в приведённом варианте кнопки указаны кавычки вокруг EMem_TC. Я в курсе, что в ридми TCMC в примерах эти кавычки есть, но какой смысл их указывать для имени пользовательской команды, не содержащего пробелов?
Там вообще никакую задержку ставить не надо.ALev писал(а):Я в начале вместо 50 поставил 0
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Вот вы специалисты, вы и знаете где надо их ставить, где не надо. Я же тупо поставил так, как указано в Read.me. Моей задачей не было исследование возможностей утилиты, мне хотелось сделать задачу. По количеству времени и сил которые я на неё затратил - другой бы давно уже бросил; это я уж из принципа "раз начал - надо доделать, другим будет легче...".Avada писал(а):зачём в приведённом варианте кнопки указаны кавычки...
В примере тоже без пробелов.Avada писал(а):но какой смысл их указывать для имени пользовательской команды, не содержащего пробелов?
Вероятно, автор когда писал мануал, проморгал тот факт, что команда без пробелов.
Подразумевается, что перед любой командой можно (но не всегда нужно) поставить паузу. А дальше аргументация касаемо смены директорий. Автор - не англофил.sa писал(а):Вообще-то, из синтаксиса утилиты следует, что 50 это задержка (в мс) перед выполнением каждой команды.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.