Når du implementerer Cascading Menus i File Folders (Directory) ved å bruke registernøklene SubCommands eller ExtendedSubCommands i Windows 10, skjer det en interessant ting. Det siste elementet i Cascading-menyen blir kjørt når du høyreklikker på snarveien til Pinned File Explorer i oppgavelinjen og klikker på en mappe i hopplisten, i stedet for at et mappevindu åpnes.
( Denne feilen ble først rapportert på Microsoft Answers forum, og du kan se svaret mitt der. Som det senere ble rapportert av to andre brukere, bestemte jeg meg for å skrive et blogginnlegg om dette. )
Eksempel på REG-fil for å gjengi problemet
Kopier følgende innhold til Notisblokk, lagre som "mymenu.reg", og kjø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"
Den overlappende menyen vises og fungerer perfekt når du høyreklikker på en filmappe.
Feil: Problemet oppstår når du høyreklikker på File Explorer Pinned-elementet i oppgavelinjen og klikker på en mappe i Jumplist. I stedet for å åpne et mappevindu, blir den siste kommandoen i Cascading-menyen (i dette eksemplet, "Run Maintenance") kjørt. Dette er en feil!
Løsning nr. 1
Implementering av Cascading-menyen under "mapper" eller "AllFileSystemObjects" registernøkkel skal ikke forårsake dette problemet. Men når den implementeres i mapper eller AllFileSystemObjects registerområde, vil menyen vises for virtuelle mapper som denne PC, papirkurven osv. Samt for komprimerte mapper og filer. For å forhindre at den vises for filer, virtuelle mapper og komprimerte (glidelåste) mapper, legger du til en sjekk ved å opprette AppliesTo REG_SZ-verdien i Cascading-menyen.
Angi AppliesTo-verdidata til:
type: filmappe OG System.FileExtension: ". zip"
Reviderte registerinnstillinger
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 prøven REG-filen øverst i artikkelen, inkluderer en tredje menykommando som starter Utforsker% 1.
[HKEY_CLASSES_ROOT\directory\shell\CustomMenu\shell\menu3\command]
@="explorer.exe \"%1\""
Men det vil alltid vises i Cascading-menyen. Når du velger en mappe i Jumplist, kjøres dette elementet (sist i menyen).