Cascading Menu and File Explorer Jump Lists Problem i Windows 10

2018-10-09 13:45:40
Huvud·Microsoft·Cascading Menu and File Explorer Jump Lists Problem i Windows 10

När du implementerar kaskadmenyer i filmappar (katalog) med hjälp av SubCommands eller ExtendedSubCommands registernycklar i Windows 10, händer en intressant sak. Det sista objektet i Cascading-menyn körs när du högerklickar på genvägen för fästade filer i Aktivitetsfältet och klickar på en mapp i hopplistan istället för att ett mappfönster öppnas.

(Det här felet rapporterades först på Microsoft Answers forum, och du kan se mitt svar där. Eftersom det senare rapporterades av två andra användare, bestämde jag mig för att skriva ett blogginlägg om detta. )

Exempel på REG-fil för att återge problemet

Kopiera följande innehåll till Notepad, spara som "mymenu.reg" och kör det.

Windows Registry Editor Version 5.00 
[HKEY_CLASSES_ROOT\directory\shell\CustomMenu] "Icon"="shell32.dll, 39" "MUIVerb"="MyMenu" "SubCommands"="" [HKEY_CLASSES_ROOT\directory\shell\CustomMenu\shell\menu1] "Icon"="c:\\windows\\system32\\cmd.exe, 0" @="Command Prompt" [HKEY_CLASSES_ROOT\directory\shell\CustomMenu\shell\menu1\command] @="cmd.exe \"%1\"" [HKEY_CLASSES_ROOT\directory\shell\CustomMenu\shell\menu2] "Icon"="c:\\windows\\system32\\cmd.exe, 0" @="Run Maintenance (Batch File)" [HKEY_CLASSES_ROOT\directory\shell\CustomMenu\shell\menu2\command] @="D:\\Tools\\maintenance.bat"

Kaskadmenyn visas och fungerar perfekt när du högerklickar på en filmapp.

Bug: Problemet uppstår när du högerklickar på objektet File Explorer Pinned i Aktivitetsfältet och klickar på en mapp i Jumplist. Istället för att öppna ett mappfönster körs det sista kommandot i din kaskadmeny (i detta exempel, "Kör underhåll"). Det här är ett fel!

Lösning nr 1

Implementering av Cascading-menyn under registernyckeln "Mappar" eller "AllFileSystemObjects" bör inte orsaka detta problem. Men när det implementeras i mappar eller AllFileSystemObjects registerområde, skulle menyn dyka upp för virtuella mappar som den här datorn, papperskorgen osv. Samt för komprimerade mappar och filer. För att förhindra att den visas för filer, virtuella mappar och komprimerade (zippade) mappar, lägg till en kontroll genom att skapa värdet AppliesTo REG_SZ i din Cascading-meny.

Ställ in AppliesTo-värdedata till:

 typ: filmapp OCH System.FileExtension: ". zip" 

Reviderade registerinställningar

 Windows Registry Editor Version 5.00 
[HKEY_CLASSES_ROOT\Folder\shell\CustomMenu] "Icon"="shell32.dll, 39" "MUIVerb"="MyMenu" "SubCommands"="" "AppliesTo"="kind:file folder AND System.FileExtension:\".zip\"" [HKEY_CLASSES_ROOT\Folder\shell\CustomMenu\shell\menu1] "Icon"="c:\\windows\\system32\\cmd.exe, 0" @="Command Prompt" [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" @="Run Maintenance (Batch File)" [HKEY_CLASSES_ROOT\Folder\shell\CustomMenu\shell\menu2\command] @="D:\\Tools\\maintenance.bat"

Lösning nr 2

I ett exempel på REG-filen längst upp i artikeln inkluderar du ett 3: e menykommando som startar Explorer% 1.

 [HKEY_CLASSES_ROOT\directory\shell\CustomMenu\shell\menu3\command] 
@="explorer.exe \"%1\""

Men det kommer alltid att dyka upp i din Cascading-meny .. När du väljer en mapp i Jumplist, körs detta objekt (senast i menyn).

Redaktionen