Pintasan Keyboard dalam Menu Konteks (Windows 10)

2

Jadi saya baru saja membuat file di desktop saya dengan ekstensi baru, dan ini adalah menu konteksnya:

masukkan deskripsi gambar di sini

Saya dapat membuka menu konteks dengan tombol menu di keyboard saya, dan saya benar-benar dapat memilih beberapa item dalam menu konteks dengan menekan tombol setelah itu. Secara alami, ini memberi saya kesempatan untuk membuat beberapa pintasan keyboard. Namun, saya tidak begitu mengerti cara kerjanya. Ambil contoh berikut.

Jika saya membuat file bernama "item.newextension" dan kemudian mengimpor file registri berikut:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.newextension\shell\Edit\command]
@="notepad.exe \"%1\""

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.newextension\shell\Contemplate\command]
@="mspaint.exe \"%1\""

Saya mendapatkan beberapa hasil yang tidak konsisten dan menarik. Untuk berada di halaman yang sama, sekarang menu konteks saya terlihat seperti ini:

masukkan deskripsi gambar di sini

Jika saya membuka menu konteks dan menekan tombol "e", notepad segera terbuka. Juga, jika saya membuka menu konteks dan menekan tombol "c", menu konteks membalik antara "contemplate" dan "copy," tetapi tidak memilih salah satu sampai saya menekan enter.

Jadi saya menyadari bahwa, jika Anda melihat lebih dekat, ada sedikit baris di bawah setiap huruf dalam entri menu konteks yang sesuai dengan tombol apa yang perlu ditekan untuk memilihnya, dan ketika ada tumpang tindih, menekan tombol itu berulang kali bergantian di antara keduanya. Jadi saya punya beberapa pertanyaan:

  1. Ketika saya membuat entri menu konteks saya sendiri, seperti yang saya lakukan di file .reg, bagaimana saya memilih kunci mana yang bertanggung jawab untuk memilih entri itu?
  2. Dapatkah saya mengubah pintasan keyboard yang ada untuk hal-hal seperti "Buat pintasan" dan "Salin," atau akankah mereka harus selalu menjadi "s" dan "c"?

Saya menggunakan Windows 10 1803 Build 17134 untuk referensi.

jippyjoe4
sumber

Jawaban:

2

Jika ada beberapa item menu konteks dengan hotkey yang sama, menekan hotkey itu akan beralih di antara mereka seperti yang Anda temukan. Jika hotkey hanya sesuai dengan satu item, menekannya akan segera memicu item.

Jelas, Windows menggunakan huruf pertama dari teks item sebagai hotkey. Anda dapat menimpanya dengan menempatkan ampersand ( &) sebelum huruf yang Anda inginkan menjadi hotkey. Namun, ini harus dilakukan dalam nilai default dari kunci Registry perintah, bukan nama kunci. Pada gambar ini, saya telah mencoba mengubah hotkey untuk Contemplate to Odan hotkey untuk Edit to I:

menggunakan ampersand pada nama kunci atau nilai default tampaknya berfungsi

Keduanya tampaknya berfungsi karena konfigurasi di atas menghasilkan menu konteks ini:

perubahan berlaku secara visual

Menekan Osegera memicu Contemplate, tetapi menekan Itidak menghasilkan apa-apa meskipun tidak ada item lain dalam menu saya yang digunakan I. Mengubah Edit untuk memiliki nama kunci yang tidak dapat dihapus tetapi nilai default Ed&itmembuatnya berfungsi seperti yang diharapkan.

Tidak ada cara mudah untuk mengubah item menu konteks bawaan seperti Salin; mereka tidak ada dalam Registry dan malah dihasilkan oleh Explorer. Anda mungkin dapat menulis ekstensi shell yang digunakan SetMenuItemInfodengan struktur informasi menu yang sesuai untuk mengubahnya saat runtime. Untuk jawaban yang lebih lama , saya menulis ekstensi shell untuk mengubah ikon item bawaan yang mungkin merupakan titik awal yang baik.

Ben N
sumber