AltRun - запуск программ по кнопке с ctrl, shift и не только
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2  :| |:
Total Commander -> Плагины Total Commander

#16:  Author: LonerDLocation: Донецк PostPosted: Sun May 14, 2023 15:47
    —
lz57005 wrote:
а вот как реализовать запуск cm_, em_ нужен пример или описание логики.

cm - по числовому значению команды, буквально одна строчка SendMessage или PostMessage.

Отправка em_ команд потребует чуть больше усилий, но ненамного.
Вот пример - TCUtils.cpp
Вот ещё на форуме делфи и вот в теме реализация на AHK/Autoit (и прочие интересные ништяки обсуждаются).

Прямая отправка em_ и cm_ команд очень нужна.
Имеется ini-файл с сотнями em_ команд.
Если нужно изменить или исправить работу какой-то команды - достаточно подправить одну запись в ini, и дальше уже вызывать em_команду откуда нужно (из меню, с кнопок панели, через AltRun). И не нужно каждый раз вспоминать "а в этом месте я внёс исправления, а вот здесь забыл"

Надеюсь на дальнейшее развитие AltRun.
Частично функционал пересекается с TCFS2, но здесь всё гораздо доступней для новичков, причём все нюансы работы разжёваны в наглядной документации Very Happy

#17:  Author: lz57005 PostPosted: Wed Aug 09, 2023 18:31
    —
LonerD wrote:
Прямая отправка em_ и cm_ команд очень нужна.
Имеется ini-файл с сотнями em_ команд.
Если нужно изменить или исправить работу какой-то команды - достаточно подправить одну запись в ini, и дальше уже вызывать em_команду откуда нужно (из меню, с кнопок панели, через AltRun). И не нужно каждый раз вспоминать "а в этом месте я внёс исправления, а вот здесь забыл"

Давно сюда не заходил, тем не менее...
Посмотрел примеры, вроде бы не сложно, но весь AltRun - это по сути обёртка для ShellExecuteEx, поэтому вначале подумал добавить некую переменную типа --run=:cm:, потом подумал зачем менять текущую логику запуска добавляя sendmessage. Логичнее сделать простой helper типа tcmd.exe cm_Command и запускать:
Code:
-r tcmd.exe -p cm_Command -c tcm.exe -cp em_UserCommand

Потом я подумал ведь уже есть tcfs2, да, код параметров кнопки конечно не супер:

Code:
-r tcfs2.exe -p 'tcm(xxx,1)' -c tcfs2.exe -cp '/ef "tem(em_UserCmd)"'


Ну можно сделать симпатичнее через cmd:
Code:
em.cmd
start "" "%~dp0TCFS2.exe" /ef "tem(%*)"

Code:
cm.cmd
start "" "%~dp0TCFS2.exe" /ef "tcm(%~1,1)"


Code:
-r cm.cmd -p xxx -h -c em.cmd -cp em_UserCmd -ch


Единственное не увидел в TCFS2 может ли он принимать cm_Command по имени, т.к. по номеру неудобно.

Отсюда вопрос стоит ли делать какой-то простенький helper
tcmd.exe cm_Cmd|em_UserCmd из-за сложности записи для tcfs2... т.к. вносить этот функционал внутрь AltRun не хочется.

#18:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Wed Jan 03, 2024 16:24
    —
Правильно ли я понимаю, что путь к исполняемому файлу указывается только в явном виде и использование переменных среды в пути невозможно? Если нет, то как запустить программу, путь к которой
Code:
%ProgramFiles(x86)%\Program\program.exe
Поигрался с кавычками и удвоением процента - ничего не вышло. Что я делаю не так?

#19:  Author: Monarch-LFV PostPosted: Thu Jan 04, 2024 06:01
    —
Вахмурка
У меня получилось следующим образом: указать в параметрах только имя самого EXE-шника, а путь до него указать в поле "путь запуска", то есть, например:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\exe\altrun.exe
-v "program.exe" {+параметры запуска клавиш-модификаторов}
WCMICON2.DLL
Пример запуска программы по пути переменной окружения
%ProgramFiles(x86)%\Program\

#20:  Author: Monarch-LFV PostPosted: Thu Jan 04, 2024 09:56
    —
Благодаря подсказкам в ЛС нашелся способ лучше:
Code:
-v "%|ProgramFiles(x86)|\Program\program.exe" {+параметры запуска клавиш-модификаторов}

То есть вот так нужно указать переменную окружения:
%|envvar|

#21:  Author: lz57005 PostPosted: Thu Jan 11, 2024 20:26
    —
Вахмурка
Code:

-r "%%ProgramFiles(x86)%%\Internet Explorer\iexplore.exe"

странно что у вас не работают стандартное удвоение процента, только что проверил, всё запустилось, totalcmd передал altrun строку уже с одинарными процентами и altrun сам раскрыл переменную. Можете скинуть что выдаёт altrun_dbg.exe и какая версия altrun.

Monarch-LFV
Хм, а давно в тотале появилась подобная пунктуация? %|envvar|

#22:  Author: sa PostPosted: Thu Jan 11, 2024 21:30
    —
lz57005 wrote:
давно в тотале появилась подобная пунктуация? %|envvar|

History.txt wrote:
03.05.23 Release Total Commander 11.00 beta 1
26.04.23 Added: Command line parameters (button bar, start menu): New parameter %|envvar| inserts environment variable envvar, e.g. %|windir| or %|$DESKTOP| in the parameter field (32/64)

#23:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Tue Jan 16, 2024 00:56
    —
lz57005 wrote:
Вахмуркастранно что у вас не работают стандартное удвоение процента, только что проверил, всё запустилось, totalcmd передал altrun строку уже с одинарными процентами и altrun сам раскрыл переменную. Можете скинуть что выдаёт altrun_dbg.exe и какая версия altrun.
Да нет, все действительно работает. Уж не вспомнить, что я там делал, но теперь, набив кучу шишек, я программу AltRun более или менее освоил. Видимо, на первых порах мои кривые ручонки что-то не так наковыряли.
Мне нужно было передать в программу параметры %P, %P%N, %L и т.д., причем каждому параметру соответствовала своя комбинация нажатых клавиш. Долго бился со случаями наличия в имени и/или пути пробелов и/или символов кириллицы - передача должна была работать при любом сочетании этих случаев. Универсальным лекарством оказался параметр %Q (отключение кавычек).
Прога отличная, спасибо lz57005!

#24:  Author: Orion9 PostPosted: Tue Mar 26, 2024 01:05
    —
Спасибо за труд! Интересный лаунчер.
Хотел сказать пару моментов по поводу справки.

Мелковат текст. В окне разделов его нельзя увеличить. В окне статьей можно, но лучше от этого не становится - жирный шрифт становится еще жирнее, из-за чего в таблицах с примерами текст кажется совсем грузным и тестным. В справке очень много жирного выделения, что затрудняет чтение.

Конструкции типа:
Code:
-x "yyy zzz"

--xxx="yyy zzz"

-x 'yyy "zzz zzz" yyy'

--xxx='yyy "zzz zzz" yyy'

Выглядят как-то неуклюже и непривычно, и как следствие - тяжелы для восприятия. Почему бы не использовать обычное и привычное сочетание <key> <value> <ключ> <значение> 'значение "в кавычках"' и т.п.?

Слово "цель", конечно, понятно в контексте самой утилиты, но в справке местами оно звучит настолько нескладно и негармонично, что, в целом, портит общее впечатление (и, опять же, затрудняет восприятие). Необязательно использовать одно и то же слово. В зависимости от контекста, можно и даже нужно его менять. Это может быть и "объект запуска", и "задача", и "процесс", и даже "объект-цели" - вариантов масса, главное чтобы термин гармонично вписывался в предложение и точно передавал смысл.



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2  :| |:
Page 2 of 2

Powered by phpBB © 2001, 2005 phpBB Group