Masalah Cascading Menu dan File Explorer Lists di Windows 10

2018-10-09 13:45:40
Utama·Microsoft·Masalah Cascading Menu dan File Explorer Lists di Windows 10

Ketika Anda menerapkan Cascading Menu di Folder File (Direktori) menggunakan kunci registri SubCommands atau ExtendedSubCommands di Windows 10, hal yang menarik terjadi. Item terakhir di menu Cascading Anda dieksekusi ketika Anda mengklik kanan Pintasan File Explorer yang Disematkan di Taskbar, dan klik pada folder di Daftar Langsung, alih-alih membuka jendela folder.

( Bug ini pertama kali dilaporkan di forum Microsoft Answers, dan Anda dapat melihat respons saya di sana. Seperti yang kemudian dilaporkan oleh dua pengguna lain, saya memutuskan untuk menulis posting blog tentang ini. )

Contoh file REG untuk mereproduksi Masalah

Salin konten berikut ke Notepad, simpan sebagai "mymenu.reg", dan jalankan.

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"

Menu cascading akan muncul dan berfungsi dengan baik ketika Anda mengklik kanan folder file.

Bug: Masalahnya terjadi ketika Anda mengklik kanan item File Explorer yang disematkan di Taskbar dan klik pada folder di Jumplist. Alih-alih membuka jendela folder, perintah terakhir di menu Cascading Anda (dalam contoh ini, "Jalankan Pemeliharaan") dieksekusi. Ini bug!

Solusi # 1

Menerapkan menu Cascading di bawah kunci registri "Folder" atau "AllFileSystemObjects" seharusnya tidak menyebabkan masalah ini. Namun, ketika diimplementasikan di area registri Folder atau AllFileSystemObjects, menu akan muncul untuk folder virtual seperti PC ini, Keranjang Sampah dll serta untuk Folder dan file Terkompresi. Untuk mencegahnya muncul untuk file, folder virtual dan folder terkompresi (zip), tambahkan tanda centang dengan membuat nilai AppliesTo REG_SZ di menu Cascading Anda.

Setel data nilai AppliesTo ke:

 kind: folder file AND System.FileExtension: ". zip" 

Pengaturan Registry yang Direvisi

 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"

Penanganan masalah # 2

Dalam file Contoh REG di bagian atas artikel, sertakan perintah menu ke-3 yang meluncurkan Explorer% 1.

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

Tapi itu akan selalu muncul di menu Cascading Anda .. Ketika Anda memilih folder di Jumplist, item ini (terakhir di menu) dieksekusi.

Pilihan Editor