Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: AltRun - запуск программ по кнопке с ctrl, shift и не только 
Author Message
lz57005



PostPosted: Thu Jan 27, 2022 17:16    Post subject: AltRun - запуск программ по кнопке с ctrl, shift и не только Reply with quote

Здравствуйте, собственно сделал утилиту, да так что теперь сложно описать, поэтому опишу процесс создания, что и зачем. Имеем ButtonBar Extended для создания многофункциональных кнопок в TC при кликах с зажатыми модификаторами ctrl, shift. Однако использовать её для запусков сторонних программ, скриптов и прочего не очень удобно, во-первых - приложения с интерфейсов при зажатом модификаторе запускаются не в фокусе, вкладка на панели задач есть, а само окно в фоне, во-вторых - хотелось бы настраивать функционал в самой кнопке, а не в отдельной ini, в-третьих - неплохо бы сохранить возможность drug’n’drop файлов на кнопку.

Вначале пришла идея примитивной утилиты, которую бы можно было использовать в bat файле, она банально передаёт через errorlevel какие модификаторы зажаты, но сразу столкнулся с первой проблемой при зажатом модификаторе окна отличные от консоли запускаются не в фокусе.

Пришлось написать полноценный лаунчер, который отслеживает окно запускаемой программы, т.к. через кнопку можно передать только аргументы запуска, то все настройки передаются именно ими. Ну а раз уж решил запускать программы, то сами нарисовались дополнительные функции и получился весьма странный лаунчер который можно использовать как совместно с TC, так и сам по себе. Из минусов отсутствует непосредственная интеграция с TC и запуск cm_ , em_ - комманд возможно только в связке например с TCFS2.

Итого:

AltRun - это прикладной лаунчер настраиваемый через ключи запуска

Основные функции:
- запуск программ, скриптов, пакетных файлов, открытие файлов в ассоциированных программах (далее цели запуска)
- передача параметров запуска и рабочего каталога запускаемому процессу
- запуск альтернативных целей при удерживании клавиш CTRL, ALT, SHIFT или правой кнопки мыши
- запуск дополнительных программ/скриптов до/после запуска основной цели
- запуск дополнительных программ/скриптов вместо запуска основной цели при её отсутствии или при наличии/отсутствии файла/папки триггера
- запрос прав администратора или подавление этого запроса
- запуск со свёрнутым или развёрнутым окном, скрытие окна
- системная блокировка клавиатуры/мыши на время запуска
- назначение переменных среды запускаемому процессу
- поддержка относительных путей и переменных среды в пути запуска
- запуск различных целей в зависимости от разрядности операционной системы
- автономный режим (возможность указать ключи запуска altrun в файле конфигурации или непосредственно в ресурсах altrun.exe используя любой редактор ресурсов исполняемых файлов)
- сквозная передача параметров запуска запускаемой программе/скрипту в автономном режиме

Вкратце можем получить, например, подобную кнопку:

Команда: altrun.exe
Параметры: --run=cmd.exe --ctrl=cmd.exe --ctrl-admin

Запустит cmd при клике и запустит cmd с запросом прав администратора про Ctrl+Клик

Репозиторий на гитхаб и страница релизов с последней версией и полной справкой

Надеюсь кому-либо пригодится, и заранее извиняюсь если ошибся разделом, т.к. хоть интеграции с TC и нет, но утилита создавалась именно для него изначально.
View user's profile Send private message Visit poster's website


Powered by phpBB © 2001, 2005 phpBB Group