Autorun

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

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

Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):А в предыдущих работало?
Нет, параметры добавил как раз в этой версии, забыл в историю включить.
Flasher писал(а):А можно сделать отложенное возвращение переменных? Это касаемо выражений. Их подставлять таким образом нельзя?:
Так чтобы вычислялось при каждом выполнении действия - нельзя. Если один раз при установке действия, то должно так работать:

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

ControlSetMouseAction /R /K:A /H:64 0 CommandExec em_CurrentLang %"IniRead(%COMMANDER_INI%, Configuration, LanguageIni)"
Flasher писал(а):И что по части команд с ключами? Ключи же в скобках не запишешь.
Здесь про это есть. Переключатели записываются в виде "~/S1 /S2 ... /SN". Тоже костыль, конечно.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение Loopback »

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

Сообщение Flasher »

Loopback
Конечно, супер. Жаль только If не сделать возвращаемой. В общем, добрось тогда в таком виде последние 2 примера:

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

# Следующие две команды включают em_Lang, где OPENLANGUAGEFILE прописано в поле "Команда:", а %A в поле "Параметры:":
# ПКМ по главному меню = обновление текущей локализации:
ControlSetMouseAction /R /H:64 0 CommandExec em_Lang %"IniRead('~/R', %COMMANDER_INI%, Configuration, LanguageIni)"
# Alt+ПКМ по главному меню = переключение между русским и английским языками:
ControlSetMouseAction /R /K:A /H:64 0 ShellExec '%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe' '/ef if(tcini(Configuration,LanguageIni,`WCMD_RUS.LNG`),tem(em_Lang),tem(`em_Lang Wcmd_rus.lng`))'
Также для Shift+СКМ внёс вправки.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

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

+ документированы изменения в выражениях и прочие изменения
+ команда SendCommand может отправлять команду с числовыми параметрами

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

Сообщение Flasher »

Loopback
Почему-то скроллинг с Alt игнорируется в угоду скроллингу без оного. Если поставить раньше, то работают оба. И после применения Alt для переключения на скроллинг без оного нужно обязательно отправлять сообщение об активации файловой панели (кликом в неё, по дабл-Tab или иными способами).
Также c последними версиями у меня перестала работать связка Alt+Shift+скролл для Volumouse при позициониронии указателя на окне ТС (даже если команды с ключом /W закомментированы).

Кстати, всё хотел спросить: %PROCESS_ISELEVATED% = %AUTORUN_ISADMIN% ?
Ещё такой вопрос созрел: если включать стиль ws_visible для скрытых идентификаторов (11, 12, 15, 16) перед выполнением ControlSetMouseAction, ситуация изменится?

Новая порция правок хелпа — в ЛС.
Последний раз редактировалось Flasher Вс апр 12, 2020 13:30, всего редактировалось 2 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Loopback писал(а): А никаких сообщений об ошибках разве не выдавалось?

Спасибо за тест, проблему нашел, как и думал в условиях: переменная в выражении бралась только внутренняя, а нужно было еще смотреть переменные окружения. Вечером выложу исправленную версию.
Сообщений не выдавалось и не выдаётся.
С процессами ещё поломалось, тогда же. Пока не исправлено.

В версии 2.08 работал код наподобие:

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

If Not ProcessExist Prog.exe Then
  ShellExec /W "D:\TotalDir\Prog.exe" "" ""
EndIf
Сейчас он не отрабатывает. И другие команды ShellExec, идущие после него, - тоже не отрабатывают.
Windows 11 | TC DreamLair eternal pre-α
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Да, пожалуй, косячок есть: "Right value is not boolean: not"
У меня и на современный вариант ругается: "Bad variable in expression: %"

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

#If Not %"ProcessExist('~/F', '%COMMANDER_PATH%\Utils\Everything\Everything.exe')" Then
#If %"Not ProcessExist('~/F', '%COMMANDER_PATH%\Utils\Everything\Everything.exe')" Then
If %"ProcessExist('~/F', '%COMMANDER_PATH%\Utils\Everything\Everything.exe') = 0" Then
  ShellExec /W:1 /T "%COMMANDER_PATH%\Utils\Everything\Everything.exe" -startup
EndIf
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Почему-то скроллинг с Alt игнорируется в угоду скроллингу без оного.
Посмотрю.
Flasher писал(а):И после применения Alt для переключения на скроллинг без оного нужно обязательно отправлять сообщение об активации файловой панели (кликом в неё, по дабл-Tab или иными способами).
Да, потому что Alt сам по себе имеет системное действие "активировать меню". Не уверен, что с этим получится что-то сделать.
Flasher писал(а):Также c последними версиями у меня перестала работать связка Alt+Shift+скролл для Volumouse при позициониронии указателя на окне ТС (даже если команды с ключом /W закомментированы).
В последних, в которых фикс для Win7?
Flasher писал(а):Кстати, всё хотел спросить: %PROCESS_ISELEVATED% = %AUTORUN_ISADMIN% ?
Нет. Админ - это наличие административных привилегий. А elevated - запущен ли процесс под чужой учетной записью, которая может и не быть администраторской.
Flasher писал(а):Ещё такой вопрос созрел: если включать стиль ws_visible для скрытых идентификаторов (11, 12, 15, 16) перед выполнением ControlSetMouseAction, ситуация изменится?
15,16 не скрыты, это подложка под табами. Когда рядом с табами есть свободное место - это оно.
11,12 - Не изменится. Они невидимы даже при включенном флаге видимости. И к тому же находятся на позиции табов.
LonerD писал(а):Сейчас он не отрабатывает.
Посмотрю, возможно что-то еще с поддержкой старого варианта поломалось.
Flasher писал(а):У меня и на современный вариант ругается:
В условиях выражение используется без кавычек и %:

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

If ProcessExist('~/F', '%COMMANDER_PATH%\Utils\Everything\Everything.exe') = 0 Then 
  ShellExec /W:1 /T "%COMMANDER_PATH%\Utils\Everything\Everything.exe" -startup 
EndIf
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Не уверен, что с этим получится что-то сделать.
Если не получится, я на Ctrl заменю.
Loopback писал(а):В последних, в которых фикс для Win7?
Нет, с появлением команды. Одной строки с ControlSetMouseAction в конфиге достаточно.
Loopback писал(а):Нет. Админ - это наличие административных привилегий.
Т. е. %PROCESS_RUNASADMIN% = %AUTORUN_ISADMIN% ?
Loopback писал(а):А elevated - запущен ли процесс под чужой учетной записью, которая может и не быть администраторской.
О как. Т. е. повышение своей не учитывается? На 10-ке же это обязаловка для выполнения прог, требующих админ. прав.
Loopback писал(а): условиях выражение используется без кавычек и %:
А в справке не написано. И почему с Not не отрабатывает?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Нет, с появлением команды.
Как-то это сомнительно. Volumouse поставил, ошибку, мешающую ее работе нашел, но она относится чисто к фиксу для Win7. На десятке и так всё работало.

Версия с исправлением. Также должно быть исправлено "скроллинг с Alt игнорируется в угоду скроллингу без оного".
Flasher писал(а):Т. е. %PROCESS_RUNASADMIN% = %AUTORUN_ISADMIN% ?
Похоже да. Вот зачем сделано - не помню.
Flasher писал(а):Т. е. повышение своей не учитывается? На 10-ке же это обязаловка для выполнения прог, требующих админ. прав.
Возможно, не помню уже. Надо пробовать.
Flasher писал(а):А в справке не написано.
Да, как-то упустил. Хотя может еще и придется с процентом делать, ради сохранения старого варианта, очень плохо они сочетаются. Но очень не хочется.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Volumouse поставил, ошибку, мешающую ее работе нашел, но она относится чисто к фиксу для Win7.
Да, сейчас заработало. Спасибо. А тестировал я со всеми бетами, начиная с 2.08.
Loopback писал(а):На десятке и так всё работало.
Но это не значит, то проблема имела отношение к фиксу, а не 7-ке.
Loopback писал(а): Также должно быть исправлено "скроллинг с Alt игнорируется в угоду скроллингу без оного".
Подтверждаю. Активацию сис. меню побороть не удалось?
Loopback писал(а):Хотя может еще и придется с процентом делать
Т. е. менять на %? И что по Not? А то в справке задан порядок приоритета, где Not идёт в начале, но с новым синтаксисом не работает.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Но это не значит, то проблема имела отношение к фиксу, а не 7-ке.
Может быть, хотя проблема была в коде, который делался для исправления колеса на семерке, а именно с версии от 29 марта. Ладно, главное работает.
Flasher писал(а):Активацию сис. меню побороть не удалось?
Не смотрел еще, дело не пяти минут. Проверю одну идею, если не сработает, придется с этим жить :)
Flasher писал(а):И что по Not?
Пока нет времени, тут надо разбираться. Похоже сейчас такая ситуация, что в условии с not правильно не работает ни legacy, ни новый код.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):придется с этим жить
Жить в таком случае будем с Ctrl, как и писал выше. ;)
Loopback писал(а):с not правильно не работает ни legacy, ни новый код.
А у меня и твой нижний вариант молчит. Пока оставил старый.

Ещё эти команды почему-то падючими оказались:

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

# ПКМ по панели дискового места = открытие 'Рабочий стол' в соотв. панели:
ControlSetMouseAction /R /C:TMyPanel 2 CommandExec /CD ::
ControlSetMouseAction /R /C:TMyPanel 1 CommandExec /CD "" ::
Сперва всё нормально (с переходами в разные папки), а потом с какого-то момента ноль реакции. Перезапускаю ТС, опять какое-то время работает. Изображение
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
rad10
Сообщения: 2
Зарегистрирован: Пт янв 17, 2020 11:30

Сообщение rad10 »

Hi.
Нет возможности запускать исполняемые файлы с помощью ShellExec от имени Администратора?
Upd: Правда не получится завершить запущенный процесс, если ТС не от админа...
Ответить