右クリックメニューから「送る」と「ライブラリに追加」を削除する
公開日:
カテゴリ: Windows
Windows10 1809のアップデート適用後から、右クリックメニューから「送る」と「ライブラリに追加」の項目がレジストリのキーを削除しても自動的に復活するようになりました。仕様変更なのかバグなのかは分かりませんが、なんとかして右クリックメニューから削除する方法を紹介します。
手順
「送る」の削除
- レジストリエディターを開き、以下のキーを開きます。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects - このキーの中にNoSendToという名前の文字列値(REG_SZ)を作成します。
「ライブラリに追加」の削除
- レジストリエディターを開き、以下のキーを開きます。
HKEY_CURRENT_USER\Software\Classes\Folder - このキーの中に
shellexというキーを作成します(すでにある場合は飛ばしてください)。 - 作成したshellexキーの中に
ContextMenuHandlersというキーを作成します。 - 作成したContextMenuHandlersキーの中に
Library Locationというキーを作成します。 - 作成したLibrary Locationキーの中にある
(既定)の値をダブルクリックして編集画面を開き、そのままOKを押します。レジストリエディターの画面で、テータの値が(値の設定なし)から何も表示されなくなればOKです。
仕組み
「送る」の削除について
「送る」メニューはクラス情報のキーにNoSendToを指定することで、送るメニューを非表示にすることができます。「送る」メニューはAllFilesystemObjectsという、ファイルシステム全般に相当するクラス情報のキーのShellEx内で登録されているため、ここにNoSendToを指定することによって「送る」メニューを非表示にしています。
「ライブラリに追加」の削除について
「ライブラリに追加」は「送る」メニューと異なり、No***といった形で非表示に設定することが出来ません(もしかしたら存在するかもしれませんが、筆者は見つけることが出来ませんでした)。
さて、HKEY_CLASSES_ROOTの中身はHKEY_LOCAL_MACHINE\SOFTWARE\ClassesとHKEY_CURRENT_USER\Software\Classesの複合で出来ています。このとき同名のキーが存在する場合はHKEY_CURRENT_USERの方が優先されます。
「ライブラリに追加」メニューはHKEY_LOCAL_MACHINEに存在するため、HKEY_CURRENT_USERに同名のキーを作成し空の内容で上書きすることによってメニューを非表示にしています。
余談
ShellExのメニューはHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\BlockedにCLSIDを追加すると無効化出来るはずなのですが、「送る」と「ライブラリに追加」については効果がありませんでした…。
カテゴリ: Windows