これは何?
こいつを叩き潰し「その他のオプションを表示」を選択した際に出るコンテキストメニューに標準化する方法です。
結論
以下のレジストリ キー を追加します。
HKEY_CURRENT_USER\Software\Classes\CLSID{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32
その後、レジストリ エントリの "(既定)" について、値を空に設定します (= "(値の設定なし)"では NG です)。
レジストリ更新後、再起動でコンテキスト メニューが変更されます。
下記コマンドがレジストリ登録においての同等の処理となります(再起動は手動で行うこと)。
reg add HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32 /f /ve
戻し方
当該レジストリ削除後、再起動で Windows11 コンテキストメニューに復帰します。
下記コマンドが同等の処理となります。
reg delete HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2} /f
補足(というか推測)
・CLSID は、COM クラス オブジェクト識別用の OS 全体で一意の識別子。
・レジストリ キー CLSID における InprocServer32 の役割は下記の通り。
Registers a 32-bit in-process server and specifies the threading model of the apartment the server can run in.
(32ビットプロセス内サーバーを登録し、そのサーバーのアパートメントが実行可能なスレッドモデルを指定します)
・InprocServer32 は値が設定されていない or 存在しない場合と 何かしら構成されている場合で挙動が変わる
(これが"値の設定なし"のままではNGな理由)。
If ThreadingModel is not present or is not set to a value, the server is loaded into the first apartment that was initialized in the process.
(ThreadingModel が存在しない、または値が設定されていない場合、サーバーはプロセス内で初期化された最初のアパートメントにロードされます)
{86ca1aa0-34aa-4e8b-a509-50c905bae2a2} は コンテキストメニューを指す。
また、デフォルトでの挙動で Windows11 用のコンテキストメニューを呼び出す処理がある。
この設定は InprocServer32 に値を何かしら設定することでアパートメントへの呼び出しを回避する、というところか。
再起動でないと反映されない Process Monitor タイプの設定なのでちょっと追いにくいのでここまで。
気が向いたらおいおい調べてみる。かも。
出典