エクスプローラーのコンテキストメニューの並び順を入れ換える基礎的な方法です。
デスクトップのシェルメニューを例にします。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DesktopBackground\Shell
Shell メニューは通常レジストリのキーの並び、アルファベット順で表示されます。
Display(画面の解像度)、Gadget(ガジェット)、Personalize(個人設定)
![](https://lh4.googleusercontent.com/-27Bw1-dGaiM/U6BiY0p4sII/AAAAAAAAIMc/uYUFLM3bPM8/d/arrange-desktopbackground-shell-menu_01a.png)
![](https://lh5.googleusercontent.com/-u_3RNevdAuk/U6BiY0NFL0I/AAAAAAAAIMU/I61bB7ITVt0/d/arrange-desktopbackground-shell-menu_01b.png)
キーの名前を変えれば、順番もそれに従って入れ換えることができますが、変更できない状況も多くあります。今回のデスクトップのメニューも、所有権を TrustedInstaller が握っていてキー名は変更できません。
メニューの並べ替えは、レジストリの編集で意外に簡単にできます。
Shell キーの 既定 を開きます。
![](https://lh6.googleusercontent.com/-OfjP_DKPgQQ/U6BiY_RmnSI/AAAAAAAAIMY/DCRpCw5tJts/d/arrange-desktopbackground-shell-menu_02a.png)
![](https://lh4.googleusercontent.com/-nZXxTzqU2LI/U6BiZvU9CcI/AAAAAAAAIMs/CTkn1Pm8J-g/s0/arrange-desktopbackground-shell-menu_02b.png)
Personalize にすると個人設定が優先され、一番上になります。
Personalize 以外は、通常のキーの名前のアルファベット順です。
![](https://lh5.googleusercontent.com/-n5ojq6uiqzo/U6BiZ04xviI/AAAAAAAAIM4/wJLSkroEQgU/s0/arrange-desktopbackground-shell-menu_03a.png)
![](https://lh5.googleusercontent.com/-lDcVEan1O9s/U6BiZ04NNqI/AAAAAAAAINI/K2EcQ7Iq8Rs/s0/arrange-desktopbackground-shell-menu_03b.png)
Gadget を Personalize の後にコンマまたはスペースで区切って記述すると個人設定、ガジェット、画面の解像度の順になります。
![](https://lh4.googleusercontent.com/-d4X0X0SvjE4/U6BiamGttvI/AAAAAAAAINM/vjDk_UfHJPk/s0/arrange-desktopbackground-shell-menu_04a.png)
![](https://lh4.googleusercontent.com/-IhhNaGCqKn0/U6Biax2UjWI/AAAAAAAAINA/vMN8jN-RbJY/s0/arrange-desktopbackground-shell-menu_04b.png)
open ,edit ,printといったシェルキーも同じように扱えます。
既定のデータを空にして元に戻すには、(既定) を右クリックして、メニューから削除します。
この方法は、既定の動作(ダブルクリックしたときに開く)の変更にも使えます。
反面、意図せず既定の動作になってしまうことがあります。
それを避けるには、Personalize などのキーに NeverDefault(文字列値)を追加します。
そうすることで文字通り、決して既定の動作にはならなくなります。NeverDefault を使った例
今回の、Display などの初めからある Shell のサブキーは、TrustedInstaller で守られていますので、アクセス許可を変更しないと書き込めません。こういう場合は、HKEY_CURRENT_USERに同じ項目を作成すると、楽に編集できます。
コマンドのキーに値を追加可能なら、"Position"="Top" | "Bottom" で位置を指定することもできます。