View previous topic :: View next topic |
Author |
Message |
Loopback
Joined: 07 Sep 2009 Posts: 1262
|
(Separately) Posted: Sun Apr 05, 2020 17:53 Post subject: |
|
|
Flasher wrote: | А в предыдущих работало? |
Нет, параметры добавил как раз в этой версии, забыл в историю включить.
Flasher wrote: | А можно сделать отложенное возвращение переменных? Это касаемо выражений. Их подставлять таким образом нельзя?: |
Так чтобы вычислялось при каждом выполнении действия - нельзя. Если один раз при установке действия, то должно так работать:
Code: | ControlSetMouseAction /R /K:A /H:64 0 CommandExec em_CurrentLang %"IniRead(%COMMANDER_INI%, Configuration, LanguageIni)" |
Flasher wrote: | И что по части команд с ключами? Ключи же в скобках не запишешь. |
Здесь про это есть. Переключатели записываются в виде "~/S1 /S2 ... /SN". Тоже костыль, конечно. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Apr 05, 2020 20:44 Post subject: |
|
|
Loopback wrote: | Так чтобы вычислялось при каждом выполнении действия - нельзя. | Ха, а у меня в таком виде работает при каждом. Переключаю язык по ПКМ, жму Alt+ПКМ — и обновляется текущий язык.
Loopback wrote: | Здесь про это есть. | О. Что-то проморгал. Отлично. ) _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1262
|
(Separately) Posted: Sun Apr 05, 2020 21:02 Post subject: |
|
|
Flasher wrote: | Ха, а у меня в таком виде работает при каждом. |
А, точно, не учел, что CommandExec вызывается каждый раз с исходной строкой, и вычисляемая строка вычисляется. Ну тем лучше |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Apr 05, 2020 21:12 Post subject: |
|
|
Loopback
Конечно, супер. Жаль только If не сделать возвращаемой. В общем, добрось тогда в таком виде последние 2 примера: Code: | # Следующие две команды включают 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) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1262
|
(Separately) Posted: Fri Apr 10, 2020 13:12 Post subject: |
|
|
Бета-версия 2.0.12
+ документированы изменения в выражениях и прочие изменения
+ команда SendCommand может отправлять команду с числовыми параметрами
Если ничего не всплывёт, это будет последняя бета перед релизом. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Apr 11, 2020 18:00 Post subject: |
|
|
Loopback
Почему-то скроллинг с Alt игнорируется в угоду скроллингу без оного. Если поставить раньше, то работают оба. И после применения Alt для переключения на скроллинг без оного нужно обязательно отправлять сообщение об активации файловой панели (кликом в неё, по дабл-Tab или иными способами).
Также c последними версиями у меня перестала работать связка Alt+Shift+скролл для Volumouse при позициониронии указателя на окне ТС (даже если команды с ключом /W закомментированы).
Кстати, всё хотел спросить: %PROCESS_ISELEVATED% = %AUTORUN_ISADMIN% ?
Ещё такой вопрос созрел: если включать стиль ws_visible для скрытых идентификаторов (11, 12, 15, 16) перед выполнением ControlSetMouseAction, ситуация изменится?
Новая порция правок хелпа — в ЛС. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Sun Apr 12, 2020 14:30; edited 2 times in total |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1168 Location: Донецк
|
(Separately) Posted: Sun Apr 12, 2020 03:33 Post subject: |
|
|
Loopback wrote: |
А никаких сообщений об ошибках разве не выдавалось?
Спасибо за тест, проблему нашел, как и думал в условиях: переменная в выражении бралась только внутренняя, а нужно было еще смотреть переменные окружения. Вечером выложу исправленную версию. |
Сообщений не выдавалось и не выдаётся.
С процессами ещё поломалось, тогда же. Пока не исправлено.
В версии 2.08 работал код наподобие:
Code: | If Not ProcessExist Prog.exe Then
ShellExec /W "D:\TotalDir\Prog.exe" "" ""
EndIf |
Сейчас он не отрабатывает. И другие команды ShellExec, идущие после него, - тоже не отрабатывают. _________________ Win11 x64 Eng | TC DreamLair eternal pre-α |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Apr 12, 2020 14:27 Post subject: |
|
|
Да, пожалуй, косячок есть: "Right value is not boolean: not"
У меня и на современный вариант ругается: "Bad variable in expression: %"
Code: | #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) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1262
|
(Separately) Posted: Sun Apr 12, 2020 15:18 Post subject: |
|
|
Flasher wrote: | Почему-то скроллинг с Alt игнорируется в угоду скроллингу без оного. |
Посмотрю.
Flasher wrote: | И после применения Alt для переключения на скроллинг без оного нужно обязательно отправлять сообщение об активации файловой панели (кликом в неё, по дабл-Tab или иными способами). |
Да, потому что Alt сам по себе имеет системное действие "активировать меню". Не уверен, что с этим получится что-то сделать.
Flasher wrote: | Также c последними версиями у меня перестала работать связка Alt+Shift+скролл для Volumouse при позициониронии указателя на окне ТС (даже если команды с ключом /W закомментированы). |
В последних, в которых фикс для Win7?
Flasher wrote: | Кстати, всё хотел спросить: %PROCESS_ISELEVATED% = %AUTORUN_ISADMIN% ? |
Нет. Админ - это наличие административных привилегий. А elevated - запущен ли процесс под чужой учетной записью, которая может и не быть администраторской.
Flasher wrote: | Ещё такой вопрос созрел: если включать стиль ws_visible для скрытых идентификаторов (11, 12, 15, 16) перед выполнением ControlSetMouseAction, ситуация изменится?
|
15,16 не скрыты, это подложка под табами. Когда рядом с табами есть свободное место - это оно.
11,12 - Не изменится. Они невидимы даже при включенном флаге видимости. И к тому же находятся на позиции табов.
LonerD wrote: | Сейчас он не отрабатывает. |
Посмотрю, возможно что-то еще с поддержкой старого варианта поломалось.
Flasher wrote: | У меня и на современный вариант ругается: |
В условиях выражение используется без кавычек и %:
Code: |
If ProcessExist('~/F', '%COMMANDER_PATH%\Utils\Everything\Everything.exe') = 0 Then
ShellExec /W:1 /T "%COMMANDER_PATH%\Utils\Everything\Everything.exe" -startup
EndIf
|
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Apr 12, 2020 16:16 Post subject: |
|
|
Loopback wrote: | Не уверен, что с этим получится что-то сделать. | Если не получится, я на Ctrl заменю.
Loopback wrote: | В последних, в которых фикс для Win7? | Нет, с появлением команды. Одной строки с ControlSetMouseAction в конфиге достаточно.
Loopback wrote: | Нет. Админ - это наличие административных привилегий. | Т. е. %PROCESS_RUNASADMIN% = %AUTORUN_ISADMIN% ?
Loopback wrote: | А elevated - запущен ли процесс под чужой учетной записью, которая может и не быть администраторской. | О как. Т. е. повышение своей не учитывается? На 10-ке же это обязаловка для выполнения прог, требующих админ. прав.
Loopback wrote: | условиях выражение используется без кавычек и %: | А в справке не написано. И почему с Not не отрабатывает? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1262
|
(Separately) Posted: Sun Apr 12, 2020 18:27 Post subject: |
|
|
Flasher wrote: | Нет, с появлением команды. |
Как-то это сомнительно. Volumouse поставил, ошибку, мешающую ее работе нашел, но она относится чисто к фиксу для Win7. На десятке и так всё работало.
Версия с исправлением. Также должно быть исправлено "скроллинг с Alt игнорируется в угоду скроллингу без оного".
Flasher wrote: | Т. е. %PROCESS_RUNASADMIN% = %AUTORUN_ISADMIN% ? |
Похоже да. Вот зачем сделано - не помню.
Flasher wrote: | Т. е. повышение своей не учитывается? На 10-ке же это обязаловка для выполнения прог, требующих админ. прав. |
Возможно, не помню уже. Надо пробовать.
Flasher wrote: | А в справке не написано. |
Да, как-то упустил. Хотя может еще и придется с процентом делать, ради сохранения старого варианта, очень плохо они сочетаются. Но очень не хочется. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Apr 12, 2020 19:03 Post subject: |
|
|
Loopback wrote: | Volumouse поставил, ошибку, мешающую ее работе нашел, но она относится чисто к фиксу для Win7. | Да, сейчас заработало. Спасибо. А тестировал я со всеми бетами, начиная с 2.08.
Loopback wrote: | На десятке и так всё работало. | Но это не значит, то проблема имела отношение к фиксу, а не 7-ке.
Loopback wrote: | Также должно быть исправлено "скроллинг с Alt игнорируется в угоду скроллингу без оного". | Подтверждаю. Активацию сис. меню побороть не удалось?
Loopback wrote: | Хотя может еще и придется с процентом делать | Т. е. менять на %? И что по Not? А то в справке задан порядок приоритета, где Not идёт в начале, но с новым синтаксисом не работает. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1262
|
(Separately) Posted: Mon Apr 13, 2020 21:09 Post subject: |
|
|
Flasher wrote: | Но это не значит, то проблема имела отношение к фиксу, а не 7-ке. |
Может быть, хотя проблема была в коде, который делался для исправления колеса на семерке, а именно с версии от 29 марта. Ладно, главное работает.
Flasher wrote: | Активацию сис. меню побороть не удалось? |
Не смотрел еще, дело не пяти минут. Проверю одну идею, если не сработает, придется с этим жить
Flasher wrote: | И что по Not? |
Пока нет времени, тут надо разбираться. Похоже сейчас такая ситуация, что в условии с not правильно не работает ни legacy, ни новый код. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Apr 21, 2020 17:38 Post subject: |
|
|
Loopback wrote: | придется с этим жить | Жить в таком случае будем с Ctrl, как и писал выше.
Loopback wrote: | с not правильно не работает ни legacy, ни новый код. | А у меня и твой нижний вариант молчит. Пока оставил старый.
Ещё эти команды почему-то падючими оказались:
Code: | # ПКМ по панели дискового места = открытие 'Рабочий стол' в соотв. панели:
ControlSetMouseAction /R /C:TMyPanel 2 CommandExec /CD ::
ControlSetMouseAction /R /C:TMyPanel 1 CommandExec /CD "" :: | Сперва всё нормально (с переходами в разные папки), а потом с какого-то момента ноль реакции. Перезапускаю ТС, опять какое-то время работает. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
rad10
Joined: 17 Jan 2020 Posts: 2
|
(Separately) Posted: Wed Apr 22, 2020 00:02 Post subject: |
|
|
Hi.
Нет возможности запускать исполняемые файлы с помощью ShellExec от имени Администратора?
Upd: Правда не получится завершить запущенный процесс, если ТС не от админа... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|