Windows10 エクスプローラの右クリックのメニューに溜まった不要な項目を掃除したい時


右クリックのメニューに溜まった不要な項目

「メディアプレイヤで再生」、「VLC再生リストに追加」、「Visual Studioで開く」、「○○で印刷する」...、「○○で画像を開く」...、など、使わない項目がメニュー内で場所を取って、毎回、長いメニューからいちいち探さないといけない・マウスを動かす長さが増えるなど、操作性が悪くなっていたので、この度整理。

(下) 不要な項目が多い、右クリックのメニューの例:

設定を変更する箇所

レジストリの変更が必要です。レジストリを変更するとWindowsにすぐに反映されます。

Windows10 のタスクバーにある検索ボックスに「reg」と入力すると表示される「レジストリエディター」を起動。

レジストリエディターは、下図:

「レジストリエディター」上部のパス欄に、以下を代入して移動。

「ファイル」に対する右クリックのメニューは、

  • HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
  • HKEY_CLASSES_ROOT\*\shell

「フォルダ」に対する右クリックのメニューは、

  • HKEY_CLASSES_ROOT\Directory\Shell
  • HKEY_CLASSES_ROOT\Directory\ShellEx\ContextMenuHandlers
  • HKEY_CLASSES_ROOT\Folder\Shell
  • HKEY_CLASSES_ROOT\Folder\ShellEx\ContextMenuHandlers

※上記は今回見た所で、その他にも変更候補の場所は多数ある模様。その他の右クリックメニューに対するレジストリ・キーの位置は、以下を参照。
https://www.atmarkit.co.jp/ait/articles/0511/19/news016.html

例えば、「HKEY_CLASSES_ROOT\Folder\Shell」を見ると、

例えば、「opennewwindow」のメニュー項目を消す場合は、下図のように、キー「opennewwindow」に「Extended」名の文字列値を追加するだけで、なくなります。

※各キーに「Extended」名の文字列値を追加すると、Shiftキーを押しながら右クリックした時のみ、メニューにその項目が表示されるようになります。

※そのままこのキー「opennewwindow」自体を削除してもよいですが、「Extended」を付ける方がキーの内容が残るので、戻したい場合にもすぐ元に戻せます。

Extendedを付けて削除

「Extended」を付ける方がキーの内容が残るので、安心、おすすめ。戻したい場合には「Extended」を削除するだけですぐ元に戻せます。また、ひと手間掛けて、Shiftキーを押しながら右クリックした時には、メニューに表示されます。

整理して少なくすると

かなり整理できました。

独自のメニュー項目を増やしたいなら

エクスプローラの右クリックのメニューに独自の項目を増やしたい場合、

「ファイル」に対する右クリックのメニューは、「HKEY_CLASSES_ROOT\*\shell」にキーを新規追加、または、

「フォルダ」に対する右クリックのメニューは、「HKEY_CLASSES_ROOT\Folder\shell」にキーを新規追加して、

「(既定)」の値に、任意の表示文字列を設定、例えば「test appを開く」など。

メニュー横にアイコンを付けるなら、ここに「Icon」名の文字列値を追加して、アイコンの場所を指定、例えば「C:\Windows\System32\shell32.dll,23」など。

この配下に「command」名のキーを追加、「(既定)」の値に、起動したいプログラムの場所を設定、例えば「D:\サンプル場所\test app (スペース有り)\test_app.exe "%1"」など。
※パスにスペースがある場合でも「""」は不要、一方で、スペースを含むパスの対策として%1には「""」が必要。
※パスに指定できる「%1」などの文字列(プレースホルダー)の詳細は、以下を参照。
https://www.pg-fl.jp/program/winreg/classes.htm

ここでレジストリに追加した項目をまとめると、以下:

[HKEY_CLASSES_ROOT\Folder\shell\test_app]
@="test appを開く"
"Icon"="C:\\Windows\\System32\\shell32.dll,23"

[HKEY_CLASSES_ROOT\Folder\shell\test_app\command]
@="D:\\サンプル場所\\test app (スペース有り)\\test_app.exe \"%1\""

項目追加後の、レジストリエディタの様子は、下図:

すると、フォルダを右クリックした時のメニューには、下図のように「test appを開く」が追加されます。クリックすると、設定した「test_app.exe」が起動されます。

参考:
http://suyamasoft.blue.coocan.jp/Bat/CMD/ContextMenu/index.html

フリーソフトの「QTTabBar」利用中の方

キー「QTTabBar.openInTab」、「QTTabBar.openNewWindow」を消してしまうと、Windowsのエクスプローラ自体が起動しなくなるので、要注意です。かなり焦ります。