Windows11のコンテキストメニューを整理する

投稿者: | 2024年12月10日

やたら散らかるわりにレジストリからでしか編集はできず、何なら設定場所すらも散らかっており最高。
え?散らかってない?あっそうだコンテキストメニューを混沌に戻してる前提の話だよ。

Windows11 24H2時点での情報。殆ど即時反映される……はず。
なおデカめのWindowsUpdateが入ると元に戻ってしまう項目があるっぽい。

目次


基本知識

まずコンテキストメニュー関連のレジストリ一覧。

HKEY_CLASSES_ROOT\*ファイル
※拡張子キーに登録のないもの
HKEY_CLASSES_ROOT\.拡張子特定の拡張子のファイル
HKEY_CLASSES_ROOT\exefile.exeファイル
HKEY_CLASSES_ROOT\Directoryフォルダ
※コンパネやネットワーク等の特殊フォルダを含まない
HKEY_CLASSES_ROOT\Directory\Backgroundフォルダ内の何もないところ
※explorer.exe内のみ
HKEY_CLASSES_ROOT\Folderフォルダ
※特殊フォルダを含む
HKEY_CLASSES_ROOT\AllFilesystemObjectsファイルとフォルダ全て
※優先度低
HKEY_CLASSES_ROOT\DesktopBackgroundデスクトップの何もないところ
HKEY_CLASSES_ROOT\Driveドライブ
HKEY_CLASSES_ROOT\Networkネットワークの共有名のところ
HKEY_CLASSES_ROOT\NetServerネットワークのサーバーアイコン

基本的には各パス以下の \shell\ または \shellex\ContextMenuHandlers\ に対象のキーがある。
そこにキーを追加すれば任意の項目を追加できるが、大抵の場合は項目を消したくて調べていると思う。別途入れたソフトは大抵 AllFilesystemObjects\shellex\ContextMenuHandlers\ とかにキーが生えていて、そのキーを削除すれば消えるはず。

一方でWindowsに最初からあるいくつかの項目は妙に厄介だったりするのでいくつかピックアップする。


項目の削除

~で編集 / OneDrive に移動(M)

いきなりだがこいつらは方法が異なり、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\ 以下に Blocked キーを作成してそこに文字列値を作成すると消える。またこれらは再起動しないと反映されない。
なおHKLMではなくHKCUに作るとユーザー単位で消せる。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked
or
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked
---
ペイントで編集
{2430F218-B743-4FD6-97BF-5C76541B4AE9}

メモ帳で編集
{CA6CC9F1-867A-481E-951E-A28C5E4F01EA}

フォトで編集
{BFE0E2A4-C70C-4AD7-AC3D-10D1ECEBB5B4}

OneDrive に移動(M)
{1FA0E654-C9F2-4A1F-9800-B9A75D744B00}

それぞれの文字列値に関してデータは空欄でOK。
OneDriveの値を {CB3D0F55-BC2C-4C1A-85ED-23ED75B5106B} とする記事があるが、恐らくその情報は古い。


アクセスを許可する(G)

ファイルに対して
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Sharing

フォルダに対して
HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers\Sharing

フォルダの何もないところに対して
HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\Sharing

ドライブに対して
HKEY_CLASSES_ROOT\Drive\ShellEx\ContextMenuHandlers\Sharing

(既定)値のデータを無効化する。データの先頭に?を追加するなどすれば無効化できる。


お気に入りに追加(F)

ファイルに対して
HKEY_CLASSES_ROOT\*\shell\pintohomefile
---
文字列値
ProgrammaticAccessOnly

文字列値 ProgrammaticAccessOnly を追加する。データは空欄でOK。
この値はGUIからの操作のみ無効にし、プログラム経由でのみ利用可能にするもの。


以前のバージョンの復元(V)

ファイルとフォルダに対して
HKEY_CLASSES_ROOT\AllFilesystemObjects

ドライブに対して
HKEY_CLASSES_ROOT\Drive
---
文字列値
NoPreviousVersions

文字列値 NoPreviousVersions を追加する。これもデータは空欄でOK。もちろん項目を消してるだけで機能自体は残っているのでWindowsの復元等は問題なく動く。
プロパティからも「以前のバージョン」タブが消えるが、このメニューを消そうとしてるってことはシャドウコピー使ってないだろうし問題ないね?


共有(S)

ファイルに対して
HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\ModernSharing

アクセスを許可する(G) と同様に、(既定)値のデータを無効化する。


送る(N)

ファイルに対して
HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\SendTo

同様に、(既定)値のデータを無効化する。


ライブラリに追加(I)

フォルダに対して
HKEY_CLASSES_ROOT\Folder\ShellEx\ContextMenuHandlers\Library Location

同様に、(既定)値のデータを無効化する。


Adobe Acrobat

Windows組み込みの項目ではないが

ファイルに対して
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Adobe.Acrobat.ContextMenu

フォルダに対して
HKEY_CLASSES_ROOT\Folder\ShellEx\ContextMenuHandlers\Adobe.Acrobat.ContextMenu

同様に、(既定)値のデータを無効化する。


これだけ消せば結構すっきりした感じになったんじゃないだろうか。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です