Autorun

Обсуждение только плагинов и утилит для Total Commander.

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

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

Сообщение Flasher »

rad10
В справке указана такая возможность? Нет. Так чего спрашивать?
И правильно что нет, иначе при каждом запуске придётся бороться с вводами паролей на каждой такой команде. Проще сразу запускать ТС от админа и не мучиться.
И завершение не про ShellExec, а про ProcessTerminate.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
rad10
Сообщения: 2
Зарегистрирован: Пт янв 17, 2020 11:30

Сообщение rad10 »

Flasher
Если бы было в справке - я бы не спросил.
Вижу сейчас ведется доработка - вот решил уточнить, мб есть такая не документированная возможность.
Не помню, когда последний раз вводил пароль при запуске программы от админа через контекстное меню. Да и при чем тут это? про завершение я писал в общем, не конкретизируя команду.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

rad10
Речь идёт о неадминских аккаунтах и контроле учёток, при работе которого будет запрос на ввод пароля там, где это требуется. Рассчитывать на недокументированные ключи тут бессмыленно. Автор у нас такими вещами не жадничает, а справка качественно прорабатывается и ныне дорабатывается в основном для новинок.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Ещё эти команды почему-то падючими оказались:
Может хэндлы этих контролов меняются в процессе работы? Они сейчас ищутся один раз при первом выполнении команды. Не вижу других причин такого поведения.

По условиям пока все не получается поправить. Где проблема я примерно представляю.

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

Сообщение Flasher »

Loopback писал(а):Они сейчас ищутся один раз при первом выполнении команды.
А при чём тут хэндлы, если идёт обращение по классу и порядковому номеру экземпляра? Ты хэндл отлавливаешь по ним что ли, а потом загружаешь его из памяти? Лучше так не делать, это всё и портит, по всей видимости. Или сделать получение в текущий момент, как и в случае с WM_USER+.
Из оконных модификаций кроме смены тулбаров ничего не делалось. Но и при сменах команды продолжали работать. Была ситуация, когда в левой панели происходил переход при нажатии в правой, в то время как в правой уже не работало. Не может же дескриптор записаться для другой панели? Инстанс не меняется, да и в текущий момент уже не учитывается, судя по тому, что о хэндлах заговорил.
Loopback писал(а):По условиям пока все не получается поправить.
Ясно, подождём. А по Alt?


rad10
Но вам никто не мешает перед выполняемой программой ставить путь к утилите (sudo, ele, elevate и т. п.) или ярлыка на повышение прав.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):А при чём тут хэндлы, если идёт обращение по классу и порядковому номеру экземпляра?
По ним идет поиск, дальнейшая работа все равно с хэндлами. Можно сделать поиск при каждом вызове, будет менее эффективно, но не факт, что поможет, потому что:
Flasher писал(а):Не может же дескриптор записаться для другой панели? Инстанс не меняется, да и в текущий момент уже не учитывается, судя по тому, что о хэндлах заговорил.
Всё может поменяться в любой момент, если добавляется или удаляется контрол с тем же классом. Экземпляр - он не определяет контрол однозначно. Есть, допустим, два контрола TMyPanel1, TMyPanel2. Если удалить контрол TMyPanel1, то TMyPanel2 станет первым и будет находиться как TMyPanel1.
Flasher писал(а): А по Alt?
Аналогично.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):будет менее эффективно
А я считаю, что более. Вероятность потерять инстанс гораздо меньше, чем хэндл.
Loopback писал(а): если добавляется или удаляется контрол с тем же классом.
Добавление же не меняет текущие номера по логике. А если играться с FullScreen-ом, то те же инстансы должны присваиваться аналогично исходному положению. А вот с потерей хэндлов уже ничего не поделаешь.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Добавление же не меняет текущие номера по логике. А если играться с FullScreen-ом, то те же инстансы должны присваиваться аналогично исходному положению. А вот с потерей хэндлов уже ничего не поделаешь.
Смотря куда добавить, если перед существующим контролом - его номер изменится.

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

Сообщение Flasher »

Loopback писал(а):если перед существующим контролом
В дереве? Если изначально в полноценном окне они идут под 1 и 2 номерами, как в данном случае, то, по логике, добавка перед уже невозможна. Или есть варианты?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):В дереве? Если изначально в полноценном окне они идут под 1 и 2 номерами, как в данном случае, то, по логике, добавка перед уже невозможна. Или есть варианты?
Есть вариант создать окно и переместить его в позицию перед ними. Хотя, не думаю что это очень уж распространенный сценарий.

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

Сообщение Flasher »

Loopback писал(а):не думаю что это очень уж распространенный сценарий.
В случае ТС это ещё мягко сказано. Здесь я вообще не вижу ему распространения.
Loopback писал(а):Попробуй эту версию, сделал поиск при каждом вызове.
Во, другое дело. :) Уже, по крайней мере, FullScreen не ломает команду. Думаю, и далее каких-то проблем не будет. Спасибо.

[cut="А по Alt я пока костыль с отжатием сделал (но что-то не особо нравится — указатель с часами дёргается):"]

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

ControlSetMouseAction /W:R /K:A 10017 ShellExec '%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe' '/ef tcm(3005,0) send({Alt},0)'
ControlSetMouseAction /W:F /K:A 10017 ShellExec '%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe' '/ef tcm(3006,0) send({Alt},0)'
[/cut]
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Бета-версия 2.0.13

* Tweaks: ControlSetMouseAction изменен переключатель /W:R на /W:B
+ Tweaks: активация главного меню отменяется, если было произведено действие при нажатом Alt
+ в выражениях теперь должны работать команды из плагинов
- исправлена поддержка "старых" условий с командами и "not"

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

Сообщение Flasher »

Loopback писал(а):+ в выражениях теперь должны работать команды из плагинов
Эмм. А раньше не могли?
Loopback писал(а):- исправлена поддержка "старых" условий с командами и "not"
И новых, как вижу, тоже. ;)
Loopback писал(а):но делать лучше
Что делать?
Теперь работает. По отзывчивости указателя похоже на мой костыль выше. :roll:
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):А раньше не могли?
Нет. Забыл доделать код для функций плагинов.
Flasher писал(а):Что делать?
Иногда пункт меню выделяется, иногда нет, визуальный такой косячок. Но думаю это не критично, главное что фокус не теряется.
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

Решил повесить на двойной клик по разделителю панелей показ вертикальной панели, а по двойному клику по вертикальной панели — её скрытие. Прописал

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

ControlSetMouseAction /L:D 23 SendCommand 2944
ControlSetMouseAction /L:D 29 SendCommand 2944
Но у меня срабатывает сразу же по клику, а не по двойному
Ответить