Autorun
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
У, как всё плохо. Судя по тому, что не отрабатываются команды - похоже как будто сам Autorun не обновлен.
Скопипастил код. Первые 4 команды работают.
5,6 - ты забыл 0 - идентификатор контрола. Но сумма зон /H похоже в какой-то момент отвалилась, по отдельности работает.
ControlSetMouseAction /R /H:62 /K:A 0 SendCommand 321
7,8 - тоже 0 нет, /H:0 - такого варианта не предусмотрено, см. справку. Проверить не могу.
Версия с исправленным суммированием зон.
Скопипастил код. Первые 4 команды работают.
5,6 - ты забыл 0 - идентификатор контрола. Но сумма зон /H похоже в какой-то момент отвалилась, по отдельности работает.
ControlSetMouseAction /R /H:62 /K:A 0 SendCommand 321
7,8 - тоже 0 нет, /H:0 - такого варианта не предусмотрено, см. справку. Проверить не могу.
Версия с исправленным суммированием зон.
Autorun обновляется всё время вручную с предварительным переименованием текущей версии, поэтому с этим проблем нет никогда.
Насчёт 0, каюсь, сглупил. ПКМ на заголовке заработал в пофиксенном плаге. Для /X1|2 только команда стала выполнятся. Всё остальное в силе.
Насчёт 0, каюсь, сглупил. ПКМ на заголовке заработал в пофиксенном плаге. Для /X1|2 только команда стала выполнятся. Всё остальное в силе.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Протестировал на семерке, всё очень странно. Функция хука не получает WM_MOUSEWHEEL под семеркой вообще, под десяткой всё работает. Поискал информацию по этому вопросу, но в контексте семерки никто на такую проблему не жаловался, так что я склонен думать, что это ТС под семеркой как-то перехватывает колесо.
В общем, если не появится понимания причины проблемы, придется, наверно, для семерки городить отдельную ветку кода под колесо, чего бы весьма не хотелось.
Протестировал на семерке, всё очень странно. Функция хука не получает WM_MOUSEWHEEL под семеркой вообще, под десяткой всё работает. Поискал информацию по этому вопросу, но в контексте семерки никто на такую проблему не жаловался, так что я склонен думать, что это ТС под семеркой как-то перехватывает колесо.
В общем, если не появится понимания причины проблемы, придется, наверно, для семерки городить отдельную ветку кода под колесо, чего бы весьма не хотелось.
Loopback
А, значит, ты всё-таки подтверждаешь проблему. Уже выдохнул.
Можно предварительно у Гислера спросить, перехватывает ли TC колесо.
Но, по крайней мере касаемо хоткеев, сам он отрицательно отзывался в отношении перехватов. При обсуждении этой проблемы он это ясно дал понять.
А, значит, ты всё-таки подтверждаешь проблему. Уже выдохнул.
Можно предварительно у Гислера спросить, перехватывает ли TC колесо.
Но, по крайней мере касаемо хоткеев, сам он отрицательно отзывался в отношении перехватов. При обсуждении этой проблемы он это ясно дал понять.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
К файловым спискам цеплять команды ещё и по прокрутке с модификатором нужды точно нет, поэтому не страшно. Делай так.
А с /X1|2 только глобальный хук поможет, видимо, иначе, как я уже писал, смысл отсутствует.
[cut="А пока некоторые наброски для справочных примеров (маркер проблемности справа описаний):"][/cut]
Пару старых мыслей.
1. Ты мог бы сделать поддержку команд ТС с параметрами для CommandExec/SendCommand? Вероятно, это запрашивали, уже не помню.
2. Для TwinKey был запрос на установку языка ввода для указанных папок. Автор так и не родил. По хорошему это, конечно, Гислеру надо в стилях оформления делать, но пока дальше ключа KeyboardID у него за зашло. Возьмёшься?
К файловым спискам цеплять команды ещё и по прокрутке с модификатором нужды точно нет, поэтому не страшно. Делай так.
А с /X1|2 только глобальный хук поможет, видимо, иначе, как я уже писал, смысл отсутствует.
А почему бы не заменить на поиск пробела или табуляции с конца взамен начала? Внешне же это будет практически неразличимо.Loopback писал(а):либо просто поиск по тексту.
[cut="А пока некоторые наброски для справочных примеров (маркер проблемности справа описаний):"]
Код: Выделить всё
# XButton[1/2] всюду = переход по истории каталогов с пропуском FTP: —
ControlSetMouseAction /X1 0 SendCommand 574
ControlSetMouseAction /X2 0 SendCommand 573
# Скроллинг на вкладках акт. панели = перенос активной вкладки влево/вправо: —
ControlSetMouseAction /W:F 10017 SendCommand 3015
ControlSetMouseAction /W:R 10017 SendCommand 3016
# Alt+скроллинг на вкладках акт. панели = переход к пред./след. вкладке: —
ControlSetMouseAction /W:F /K:A 10017 SendCommand 3005
ControlSetMouseAction /W:R /K:A 10017 SendCommand 3006
# Atl+ПКМ по вкладкам активной панели = заблокировать/разблокировать вкладку:
ControlSetMouseAction /R /K:A 10017 SendCommand 3012
# Alt+ЛКМ по вкладкам = сохранение вкладок в заданный файл в соотв. панели:
ControlSetMouseAction /L /K:A 26 CommandExec em_SaveTabsL
ControlSetMouseAction /L /K:A 27 CommandExec em_SaveTabsR
# Shift+ЛКМ по вкладкам = переключение на первую вкладку в соотв. панели:
ControlSetMouseAction /L /K:S 26 SendCommand 5201
ControlSetMouseAction /L /K:S 27 SendCommand 5301
# Ctrl+ПКМ по файловой панели = отключение сортировки в соотв. панели:
ControlSetMouseAction /R /K:C 1 SendCommand 125
ControlSetMouseAction /R /K:C 2 SendCommand 225
# Alt+ПКМ по файловой панели = обратная сортировка в соотв. панели:
ControlSetMouseAction /R /K:A 1 SendCommand 130
ControlSetMouseAction /R /K:A 2 SendCommand 230
# Alt+ПКМ по "активной" панели дисков = открытие 'Мой компьютер':
ControlSetMouseAction /R /K:A 10015 SendCommand 2122
# ПКМ по панели дискового места = открытие 'Рабочий стол' в соотв. панели:
ControlSetMouseAction /R /C:TMyPanel 2 CommandExec /CD ::
ControlSetMouseAction /R /C:TMyPanel 1 CommandExec /CD "" ::
# Alt+ЛКМ по разделителю панелей = установка равных размеров панелей:
ControlSetMouseAction /L /K:A 23 SendCommand 909
# Alt+СКМ всюду = переключение между главным меню и полным окном TC: +/-
ControlSetMouseAction /M:U /K:A 0 CommandExec em_SwitchWindow&MainMenu
# Shift+СКМ всюду = переключение на главную панель инструментов,
# где em_Bar состоит из OPENBAR1 и %A в полях Команда: и Параметры:, соотв.:
ControlSetMouseAction /M:U /K:S 0 CommandExec em_Bar Default.bar
# СКМ по заголовку окна и упр. элементам = отображение доп. информации в заголовке:
ControlSetMouseAction /M:U /H:62 0 CommandExec em_AddTitleInfo
# ПКМ по главному меню = обновление текущей локализации:
#ControlSetMouseAction /R /H:64 0 CommandExec em_CurrentLang
# Alt+ПКМ по главному меню = переключение между русским и английским языками:
ControlSetMouseAction /R /K:A /H:64 0 CommandExec em_SwitchEng&RusLanguageПару старых мыслей.
1. Ты мог бы сделать поддержку команд ТС с параметрами для CommandExec/SendCommand? Вероятно, это запрашивали, уже не помню.
2. Для TwinKey был запрос на установку языка ввода для указанных папок. Автор так и не родил. По хорошему это, конечно, Гислеру надо в стилях оформления делать, но пока дальше ключа KeyboardID у него за зашло. Возьмёшься?
Последний раз редактировалось Flasher Пн апр 06, 2020 08:45, всего редактировалось 3 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Да, вполне можно и пробелы/табы с конца. Вроде каких-то минусов такого подхода я не вижу.Flasher писал(а):А почему бы не заменить на поиск пробела или табуляции с конца взамен начала? Внешне же это будет практически неразличимо.
Маркер "-" я так понимаю, "не работает". Сейчас не могу, посмотрю позже (кроме X1/X2), но не факт, что получится что-то сделать сверх уже имеющегося.Flasher писал(а):А пока некоторые наброски
Имеется в виду OPENTABS и прочие или последние нововведения типа cm_RereadSource?Flasher писал(а):1. Ты мог бы сделать поддержку команд ТС с параметрами для CommandExec/SendCommand? Вероятно, это запрашивали, уже не помню.
Не знаю, о чем речь (задание раскладки клавиатуры в зависимости от каталога?), но сомневаюсь. Вряд ли я сейчас смогу вкладывать силы и время в то, что мне лично никогда не пригодится. Лучше даже обещать не буду, а то получится как с cpuidFlasher писал(а):2. Для TwinKey был запрос на установку языка ввода для указанных папок. Автор так и не родил. По хорошему это, конечно, Гислеру надо в стилях оформления делать, но пока дальше ключа KeyboardID у него за зашло. Возьмёшься?
В 4-х случаях. А там, где +/-, работает в сравнении с другими способами вызова юзеркоманды с некоторыми перебоями, иногда выполняя команду дважды. Добавка :U, немного помогла, но не до конца. Скорее это связано с тугостью нажатия колеса, дающее повторные клики из-за передерживания. Может, после нажатия/отпускания можно какую-то задержку для неповторения клика предусмотреть?Loopback писал(а):Маркер "-" я так понимаю, "не работает".
И как тебе в целом мой наборчик? Успел что-то юзабильное для себя выделить?
Те, что перечислены в блоке "Команды с параметрами". И CommandExec я не просто так отметил, т. к. параметризация там точно доступна (функция tem у TCFS2 как пример, у самой команды — /CD), т. е. на базе созданных юзеркоманд с %A в параметрах получаем некий аналог.Loopback писал(а):Имеется в виду OPENTABS и прочие или последние нововведения типа cm_RereadSource?
Т. е. ты хочешь сказать, что у тебя все каталоги, куда ты в течении суток заглядываешь, имеют строго доминирующий язык в именах содержимого?Loopback писал(а):что мне лично никогда не пригодится.
Предлагаю выделить список сопоставления в отдельный файл с подобным содержимым:
Код: Выделить всё
С:\Коллекция\*|rus
%ProgramFiles%\*|eng
%COMMANDER_PATH%\*|$0409
D:\Best Wallpapers\|1033
E:\мои фото\*|$0419
\\Сеть\|1049
\\\Startups\|eng
\\\Services2\|system
\\Библиотеки\|rus
\\Приступая к работе\|system
\\Программы и компоненты\|eng
E:\мои фото\*|$0419P.S.: И ладно ты. Удивительно, как швейцарец, которому по долгу приходится работать как минимум с 4 языками, этой пользы не находит.

Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Версия Tweaks с исправленной работой колеса на Win7.
Прокрутку колесом вкладок оставлю. Возможно блокировку вкладки. Установка равных размеров панелей - вот это точно да. Но как я уже писал, меня больше интересует использование дополнительных меню.Flasher писал(а):И как тебе в целом мой наборчик? Успел что-то юзабильное для себя выделить?
Ладно, ближе к делу посмотрим.Flasher писал(а):Те, что перечислены в блоке "Команды с параметрами". И CommandExec я не просто так отметил, т. к. параметризация там точно доступна (функция tem у TCFS2 как пример, у самой команды — /CD), т. е. на базе созданных юзеркоманд с %A в параметрах получаем некий аналог.
Так точно, 99% латиница. Виртуальные каталоги не использую, пожалуй, только "Шрифты" имеет некоторое практическое применение. У всех свои сценарии работы.Flasher писал(а):Т. е. ты хочешь сказать, что у тебя все каталоги, куда ты в течении суток заглядываешь, имеют строго доминирующий язык в именах содержимого?
Увы, с обновкой ситуация не изменилась.Loopback писал(а):Версия Tweaks с исправленной работой колеса на Win7.
Остальное, я так понимаю, ещё не правил.
Кстати, блокировка пунктов у меня не заработала и на исходном меню без иконок:
Код: Выделить всё
LoadLibrary Plugins\Autorun_Tweaks.dll
DisableMarkedMenuItems "`"Скромно, но тоже недурно. Помимо этих для себя я вижу большую пользу в обратной сортировке, открытии "Мой компьютер" для доп. устройств, переключением между гл. меню и текущим видом окна. Но особенно я прочувствовал переключение между языками. Для быстрых тестов это вообще песня. )Loopback писал(а):Прокрутку колесом вкладок оставлю. Возможно блокировку вкладки. Установка равных размеров панелей - вот это точно да.
А ты предусмотрел отсутствие выделения и автофокус на файле под указателем? Для этого ведь скрипт или утилита требуется, т. к. твой плагин жимоклики не производит, хотя мог бы, особенно для безкомандных случаев.Loopback писал(а):меня больше интересует использование дополнительных меню.
ОК.Loopback писал(а):Ладно, ближе к делу посмотрим.
Не спорю. Но, к примеру, при русской локали в сис. плагинах служб ты получишь русский язык, и придётся переключать. В общем, ты подумай, т. к. вещь реально нужная, т. е. совсем не на авось.Loopback писал(а):У всех свои сценарии работы.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Печально. У меня работает на Win7 х64, 32-битную все никак не соберусь поставить.Flasher писал(а):Увы, с обновкой ситуация не изменилась.
Единственное что могу предположить, может у тебя система выдает значение версии, отличное от заданного сейчас 6.1, при котором включается дополнительная ветка кода, хотя это и крайне сомнительно. Попробуй эту версию, если фикс включается, при запуске должно появиться сообщение с версией системы.
Аналогично сказанному выше.Flasher писал(а):Кстати, блокировка пунктов у меня не заработала и на исходном меню без иконок:
Для сортировки имхо ничуть не сложнее ткнуть в заголовок, хотя если меняешь ее по сто раз на дню - может быть. Мой компьютер еще мог бы быть полезен в ТС до 9.50, сейчас же, когда устройства появляются в списке дисков, я его у себя даже из меню уберу. Третье - это твой сценарий работы, не использую.Flasher писал(а):Помимо этих для себя я вижу большую пользу в обратной сортировке, открытии "Мой компьютер" для доп. устройств, переключением между гл. меню и текущим видом окна.
Пока никаких неудобств от отсутствия или наличия перечисленного не испытывал. Но с другой стороны толком было некогда этим заниматься, пока только блокирую дефолтные действия и пытаюсь понять, почему колесо не работает на неподдерживаемой системе 11-летней давностиFlasher писал(а):А ты предусмотрел отсутствие выделения и автофокус на файле под указателем? Для этого ведь скрипт или утилита требуется, т. к. твой плагин жимоклики не производит, хотя мог бы, особенно для безкомандных случаев.
Что-то мне давно подсказывает, что закавыка именно в этом.Loopback писал(а):32-битную все никак не соберусь поставить.
Нет, конечно. Это командой ver легко проверяется: Microsoft Windows [Version 6.1.7601].Loopback писал(а):может у тебя система выдает значение версии, отличное от заданного сейчас 6.1
Версии продукта нет. Только это: Win7 Fix Enabled.Loopback писал(а):при запуске должно появиться сообщение с версией системы.
Ничего подобного. До заголовка ещё дотянуться надо и сфокусировать указатель. Это куда медленнее предлагаемого.Loopback писал(а):Для сортировки имхо ничуть не сложнее ткнуть в заголовок
Мне это бывает нужно для просмотра скрытых ключом HideRemovableNoMedia дисков.Loopback писал(а):сейчас же, когда устройства появляются в списке дисков, я его у себя даже из меню уберу.
Я догадываюсь.Loopback писал(а):Третье - это твой сценарий работы, не использую.
Код: Выделить всё
IniRead /R LNG %COMMANDER_INI% Configuration LanguageIni WCMD_ENG.LNG
ControlSetMouseAction /R /K:A /H:64 0 ShellExec '%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe' '/ef "tem(`em_Lang %LNG%`)"'Ты меню не для выбранного, где клик должен соответствовать координатам указателя в файловых панелях, используешь? А для чего тогда? Сторонних вызовов?Loopback писал(а):Пока никаких неудобств от отсутствия или наличия перечисленного не испытывал.
Да хоть 100-летней.Loopback писал(а):на неподдерживаемой системе 11-летней давности
Да, под 32-битной оказался еще один сюрприз в виде неправильного хэндла, приходящего с сообщением колеса.Flasher писал(а):Что-то мне давно подсказывает, что закавыка именно в этом.
Попробуй эту версию, вроде исправил.
Также поменял работу DisableMarkedMenuItems, теперь задается маркер, находящийся в конце пункта меню (например, два пробела). Маркер не удаляется.
Не знаю, если в скрипте ShellExec работает, то ничего не мешает ему работать и здесь.Flasher писал(а):Только почему-то у меня не получается завести его через ShellExec. Что я делаю не так?
Пока ни для чего, мне еще некогда заняться прикручиванием к своей сборке. Скорее для второго.Flasher писал(а):Ты меню не для выбранного, где клик должен соответствовать координатам указателя в файловых панелях, используешь? А для чего тогда? Сторонних вызовов?
Не спешить можно было, когда оно еще обновлялось... Ну это личное дело каждого.Flasher писал(а):Не спешу баловаться обновками, когда они приносят не столько ощутимой пользы, сколько вреда.
У меня на основном компьютере семерка продержалась дольше всего, до прошлой осени, на других десятка стояла с 16 года. Когда пришло время обновляться - возвращать семерку желания не возникло.
Ну, наконец-таки, победил!Loopback писал(а):Попробуй эту версию, вроде исправил.
Только получается, ты неверно задал поведение к описанным ключам (а я ещё подумал, почему переделал в своём примере):
Вперёд = вниз, назад = вверх. А у тебя наоборот сделано. Исправь, пож-та.:F | То же самое, но по вращению вперед.
:R | То же самое, но по вращению назад.
И для согласованности с F (Forward) я бы предпочёл B (Backward) вместо R (Reverse). Или U/D (Up/Down).
И что насчёт параллельной прокрутки в файловой панели? Её можно стопорить?
С DisableMarkedMenuItems ситуация не изменилась. Эти настройки могут влиять?
Это я не смогу проверить, т. к. при перезапуске язык, что очевидно, и так обновляется без вмешательства autorun. А кнопка работает в таком виде:Loopback писал(а):Не знаю, если в скрипте ShellExec работает, то ничего не мешает ему работать и здесь.
Код: Выделить всё
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "tem(`em_Lang Wcmd_rus.lng`)"На вопрос про задержку так и не ответил.
И по панели диск. пространства что там? Насколько я понял, проблема в этом. Т. е. плагином это не вылечить?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Майкрософт считает иначе: "A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user."Flasher писал(а):Вперёд = вниз, назад = вверх. А у тебя наоборот сделано. Исправь, пож-та.
И для согласованности с F (Forward) я бы предпочёл B (Backward) вместо R (Reverse). Или U/D (Up/Down).
По терминологии с Backward согласен.
Нет. Я не знаю, что еще может не работать, тестировал везде - и везде работает.Flasher писал(а):С DisableMarkedMenuItems ситуация не изменилась. Эти настройки могут влиять?
Команда, указанная в ControlSetMouseAction просто передается с сохранением параметров. Ок, проверю, что передается при такой команде.Flasher писал(а):Что-то в парсере с обработкой параметров не чисто.
Нет, чрезмерное усложнение при незначительном профите.Flasher писал(а):На вопрос про задержку так и не ответил.
Индекс 10007 и возвращает эту панель - leftinfo/rightinfo. А то, что у тебя обведено зеленым, не возвращает ни один из индексов 1-29, видимо, просто не реализовано.Flasher писал(а):И по панели диск. пространства что там? Насколько я понял, проблема в этом. Т. е. плагином это не вылечить?