EMenu: Explorer Context Menu — Контекстное меню Проводника

Здесь можно обсудить ваш любимый плагин.
User avatar
Wave
Posts: 1758
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 14 times

EMenu: Explorer Context Menu — Контекстное меню Проводника

Post by Wave » Tue 17 Oct, 2017 11:50

Latest post of the previous page:

DrKnS wrote:
Sun 27 Aug, 2017 20:29
Возможность есть. Но увы, за 10 лет, прошедших с момента написания этого текста, никто так и не сделал.
Блин, жалко! Только из-за этого приходится переходить на FAR64 — и обнаруживаю, что это довольно марудная штука. Нет некоторых привычных плагинов и т.п., к тому же раньше была универсальная сборка на все случаи жизни, а теперь придётся две сборки держать, для x64 и для x86 машин.
Пользуюсь ФАРом больше 20 лет © собирательный.

Taciturn
Posts: 359
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 7 times
Been thanked: 5 times
Contact:

EMenu: Explorer Context Menu — Контекстное меню Проводника

Post by Taciturn » Fri 24 Nov, 2017 14:09

Почему EMenu отказывается показывать меню для файлов из разных папок? Explorer без малейших проблем это делает.

User avatar
Wave
Posts: 1758
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 14 times

EMenu: Explorer Context Menu — Контекстное меню Проводника

Post by Wave » Fri 24 Nov, 2017 16:40

Taciturn wrote:
Fri 24 Nov, 2017 14:09
Почему EMenu отказывается показывать меню для файлов из разных папок? Explorer без малейших проблем это делает.
Чисто случайно: не запускаете ли вы 32x FAR на 64x Windows?
Пользуюсь ФАРом больше 20 лет © собирательный.

Dec
Posts: 66
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

EMenu: Explorer Context Menu — Контекстное меню Проводника

Post by Dec » Fri 24 Nov, 2017 21:25

Taciturn, меню для файлов из разных папок - это меню, которое вызывается на результатах поиска?

Taciturn
Posts: 359
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 7 times
Been thanked: 5 times
Contact:

EMenu: Explorer Context Menu — Контекстное меню Проводника

Post by Taciturn » Sun 26 Nov, 2017 18:45

Wave wrote:
Fri 24 Nov, 2017 16:40
Чисто случайно: не запускаете ли вы 32x FAR на 64x Windows?
Нет, 64 на 64.
Dec wrote:
Fri 24 Nov, 2017 21:25
Taciturn, меню для файлов из разных папок - это меню, которое вызывается на результатах поиска?
Да. В Explorer всё Ok, в Far, из временной панели, плагин пишет что это невозможно.
Last edited by Taciturn on Sun 26 Nov, 2017 18:47, edited 1 time in total.

Dec
Posts: 66
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

EMenu: Explorer Context Menu — Контекстное меню Проводника

Post by Dec » Mon 27 Nov, 2017 09:38

Taciturn wrote:
Sun 26 Nov, 2017 18:45
В Explorer всё Ok
Предполагаю следующее. Вся работа с файлами в Explorer происходит через namespace extensions, то бишь через работу с IShellFolder. В ситуации, когда в Explorer происходит вызов контекстного меню, то происходит вызов IShellFolder.GetUIObjectOf(IContextMenu). IShellFolder определяет одну конкретную физическую или виртуальную директорию, и соответственно невозможно стандартными путями получить контекстное меню для нескольких файлов, расположенных в разных директориях. В случае поиска в Explorer создается виртуальная папка с содержимым поиска, у этой папки есть свой личный IShellFolder, у которой и запрашивается контекстное меню. Т.е. контекстное меню на результатах поиска это не меню физической директории, а меню виртуальной папки. Не думаю, что в EMenu можно реализовать обращение к IShellFolder такой виртуальной папки. Но теоретически можно эмулировать поведение Explorer и самостоятельно строить такое меню. Относительно геморно, но реализуемо.

User avatar
HaRT
Moderator
Posts: 8553
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 76 times
Been thanked: 138 times

EMenu: Explorer Context Menu — Контекстное меню Проводника

Post by HaRT » Mon 27 Nov, 2017 13:39

Dec wrote:
Mon 27 Nov, 2017 09:38
В случае поиска в Explorer создается виртуальная папка с содержимым поиска, у этой папки есть свой личный IShellFolder, у которой и запрашивается контекстное меню.
А что мешает и EMenu создавать виртуальную папку с выделенными элементами в момент вызова?
Фар есть инструмент, а не нянька. © 2009 DrKnS

Dec
Posts: 66
Joined: Wed 14 Jul, 2010 08:59
Been thanked: 3 times

EMenu: Explorer Context Menu — Контекстное меню Проводника

Post by Dec » Mon 27 Nov, 2017 21:02

HaRT wrote:
Mon 27 Nov, 2017 13:39
А что мешает и EMenu создавать виртуальную папку с выделенными элементами в момент вызова?
Вероятно, отсутствие документированного способа сделать это.

Xhronos
Posts: 58
Joined: Mon 09 Apr, 2018 10:22
Been thanked: 1 time

EMenu: Explorer Context Menu — Контекстное меню Проводника

Post by Xhronos » Thu 23 Aug, 2018 11:53

Есть пара вопросов.
1. Почему в каталоге \Windows\Fonts\ EMenu сообщает что не удалось показать меню?
2. Почему при попытке вызвать контекстное меню в архиве Far оказывается скорее мертв чем жив? Вопрос снят. После обновления Far до 5261 выдаётся предупреждение как в п. 1.
Last edited by Xhronos on Thu 23 Aug, 2018 14:15, edited 1 time in total.

dest
Posts: 31
Joined: Mon 29 Jun, 2015 01:30
Has thanked: 8 times

EMenu: вызов стандартного меню портит панели

Post by dest » Mon 24 Dec, 2018 22:32

При вызове правой кнопкой мыши (или кнопкой на клавиатуре, её заменяющую) системного меню Windows панель, нижний ряд кнопок сдвигаются вверх (визуально) и замусоривается надписями "Marker : e0 14" от 1-2+ штук. Верхняя ограничительная полоса панели из псевдографики перекрывается сдвинутой картинкой, визуально позиции файлов перестают соответствовать реальному положению файлов. Если кликнуть по какому-либо файлу, оказывается что под нарисованным другой файл (находящийся строкой выше). Удалось воспроизвести проблему на файлах .jpg, и проявляется далеко не на всех и не всегда. Установить, что именно приводит к багу, не удалось.
Глюк появляется в связке с плагином ConEmu. Надпись у командной строки может быть "Marker : e1 22", "Marker : ec 15", "Marker : ee 12", "Marker : e1 4218", "Marker : e1 2870", "Marker : e1 4182", "Marker : e1 2582", "Marker : e1 24582", "Marker : e1 2904" и другие.
Локализованный плагин с багом - стандартный EMenu.
Last edited by dest on Mon 24 Dec, 2018 22:33, edited 1 time in total.

User avatar
HaRT
Moderator
Posts: 8553
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 76 times
Been thanked: 138 times

EMenu: вызов стандартного меню портит панели

Post by HaRT » Mon 24 Dec, 2018 22:58

dest wrote:
Mon 24 Dec, 2018 22:32
Локализованный плагин с багом - стандартный EMenu.
Плагин не виноват, ConEmu ни при чём. Это одно из установленных у вас в системе расширений контекстного меню (XnView или ему подобное) гадит в консоль. Можете, например, с помощью Sysinternals Autoruns выявить это расширение и пожаловаться его авторам. И если это не XnView, то не забудьте, пожалуйста, тут отписаться, что за программа.

03:09 MSK
Виновник найден:
dest wrote:
Tue 25 Dec, 2018 00:46
SageThumbs - он обрабатывает картинки
Last edited by HaRT on Tue 25 Dec, 2018 01:09, edited 1 time in total.
Reason: Добавлен абзац про виновника
Фар есть инструмент, а не нянька. © 2009 DrKnS

dest
Posts: 31
Joined: Mon 29 Jun, 2015 01:30
Has thanked: 8 times

EMenu: Explorer Context Menu — Контекстное меню Проводника

Post by dest » Tue 25 Dec, 2018 00:46

HaRT wrote:
Mon 24 Dec, 2018 22:58
...ConEmu ни при чём. Это одно из установленных у вас в системе расширений контекстного меню...
По поводу контекстного меню - переименовал в реестре сначала обработчики для всех файлов - глюк "выжил", затем переименовал вообще реакцию на все файлы "*" - глюк выжил. Для .jpg/jpegfile никаких дополнительных обработчиков не обнаружил. Посмотрел в процесс мониторе к чему обращается система при ПКМ - переименовал SendTo - винда оказалась хитрее меня, смотрела ссылки в переименованной директории (! честно говоря, в этот момент я подохренел, хоть и видал ну очень много - какое-то око саурона). Далее вынес SendTo на другой диск - в этот раз винда обломилась. Глюк продолжал жить. Снова посмотрел в процесс монитор - масса вызовов разных библиотек, от TortoiseGit, PHP Composer и прочие... но глаза вцепились в SageThumbs - он обрабатывает картинки (странно, что глюки проявляются только на jpg, хотя может недостаточно кликал?). В настройках SageThumbs отключил интеграцию в контекстное меню. Поклацал пару минут по жпегам - глюка нет. Включил интеграцию - глюк есть. Выключил снова - нет. Эксперимент можно сказать завершённым.
Хотя может у кого ещё какие идеи? А пока пойду напишу автору о глюке.

ЗЫ: ConEmu я исключил в самом начале, сузив всё до первичной реакции на ПКМ (оказался единственный плагин) и начав с него, хотя именно на обработчики самого меню тоже следовало обратить бы пристальное внимание... но то, что проблема проявлялась только в фаре и более нигде и никогда, заставило думать на плагин к фару.

Post Reply

Return to “Обсуждение плагинов”