Cascading Menu and File Explorer Jump Lists Problem i Windows 10

2018-10-09 13:45:40
Hoved~~Pos=Trunc·Microsoft·Cascading Menu and File Explorer Jump Lists Problem i Windows 10

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).

Redaksjonens