Перейти к содержанию

Проблема с каскадным меню и списками переходов проводника в Windows 10

Когда вы реализуете каскадные меню в файловых папках (каталогах) с помощью ключей реестра SubCommands или ExtendedSubCommands в Windows 10, происходит интересная вещь. Последний элемент в вашем каскадном меню запускается, когда вы щелкаете правой кнопкой мыши ярлык закрепленного проводника на панели задач и щелкаете папку в списке переходов вместо открытия окна папки.if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-medrectangle-3-0′)};if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-box-3-0’)};

(Об этой ошибке впервые сообщили на форуме Microsoft Answers, и вы можете увидеть мой ответ там. Как позже сообщили два других пользователя, я решил написать об этом в блоге.)

Пример файла REG для воспроизведения проблемы

Скопируйте следующее содержимое в Блокнот, сохраните как «mymenu.reg» и запустите его.

Редактор реестра Windows версии 5.00
[HKEY_CLASSES_ROOT \ каталог \ оболочка \ CustomMenu] "Icon" = "shell32.dll, 39" "MUIVerb" = "MyMenu" "Подкоманды" = "" [HKEY_CLASSES_ROOT \ каталог \ shell \ CustomMenu \ shell \ menu1] "Icon" = "c: \ windows \ system32 \ cmd.exe, 0" @ = "Командная строка" [HKEY_CLASSES_ROOT \ каталог \ оболочка \ CustomMenu \ оболочка \ меню1 \ команда] @ = "cmd.exe \"% 1 \ "" [HKEY_CLASSES_ROOT \ каталог \ shell \ CustomMenu \ shell \ menu2] "Icon" = "c: \ windows \ system32 \ cmd.exe, 0" @ = "Запустить обслуживание (командный файл)" [HKEY_CLASSES_ROOT \ каталог \ оболочка \ CustomMenu \ оболочка \ меню2 \ команда] @ = "D: \ Tools \ maintenance.bat"

Каскадное меню отображается и отлично работает, когда вы щелкаете правой кнопкой мыши папку с файлом.

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-box-4-0’)};

Ошибка: проблема возникает, когда вы щелкаете правой кнопкой мыши закрепленный элемент проводника на панели задач и щелкаете папку в Jumplist. Вместо открытия окна папки выполняется последняя команда в каскадном меню (в данном примере «Выполнить обслуживание»).. Это ошибка!

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-medrectangle-4-0’)};

Обходной путь №1

Реализация каскадного меню в разделе реестра «Папки» или «AllFileSystemObjects» не должна вызывать эту проблему. Однако при реализации в области реестра «Папки» или «AllFileSystemObjects» меню будет отображаться для виртуальных папок, таких как «Этот компьютер», «Корзина» и т. Д., А также для сжатых папок и файлов. Чтобы предотвратить его появление для файлов, виртуальных папок и сжатых (заархивированных) папок, добавьте проверку, создав значение AppliesTo REG_SZ в своем каскадном меню.

Установите для данных AppliesTo значение:

вид: папка с файлами И System.FileExtension: <> ". zip"

Пересмотренные настройки реестра

Редактор реестра Windows версии 5.00
[HKEY_CLASSES_ROOT \ Папка \ оболочка \ CustomMenu] "Icon" = "shell32.dll, 39" "MUIVerb" = "MyMenu" "Подкоманды" = "" "AppliesTo" = "вид: папка с файлом И System.FileExtension: <> \". Zip \ "" [HKEY_CLASSES_ROOT \ Folder \ shell \ CustomMenu \ shell \ menu1] "Icon" = "c: \ windows \ system32 \ cmd.exe, 0" @ = "Командная строка" [HKEY_CLASSES_ROOT \ Folder \ shell \ CustomMenu \ shell \ menu1 \ command] @ = "cmd.exe \"% 1 \ "" [HKEY_CLASSES_ROOT \ Folder \ shell \ CustomMenu \ shell \ menu2] "Icon" = "c: \ windows \ system32 \ cmd.exe, 0" @ = "Запустить обслуживание (командный файл)" [HKEY_CLASSES_ROOT \ Folder \ shell \ CustomMenu \ shell \ menu2 \ command] @ = "D: \ Tools \ maintenance.bat"

Обходной путь №2

В файле Sample REG в верхней части статьи включите третью команду меню, запускающую Explorer% 1.

[HKEY_CLASSES_ROOT \ каталог \ оболочка \ CustomMenu \ оболочка \ меню3 \ команда]
@ = "explorer.exe \"% 1 \ ""

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-banner-1-0’)};Но он всегда будет отображаться в вашем каскадном меню. Когда вы выбираете папку в Jumplist, этот пункт (последний в меню) запускается.

Добавить комментарий

Ваш адрес email не будет опубликован.