内気なもんた君

時々日本語化してます

コンテキストメニューのカスタマイズ

コンテキストメニューのカスタマイズ

カスタマイズと言っても追加する場合についてです。

備忘録を兼ねてなので簡単に。

以下ではLOCAL_MACHINEに設定しているけどCURRENT_USERの方が安全かもしれません。

 

- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - 

* デスクトップへ追加する場合。

HKEY_CLASSES_ROOT\DesktopBackground\Shell

 

* すべてのファイルへ追加する場合。

HKEY_CLASSES_ROOT\*\shell

 

* すべてのファイルとフォルダーへ追加する場合。

HKEY_CLASSES_ROOT\AllFilesystemObjects\shell

 

* フォルダーへ追加する場合。

HKEY_CLASSES_ROOT\directory\shell

 

* 特殊フォルダーを含むフォルダーへ追加する場合。

HKEY_CLASSES_ROOT\Folder\shell

* ドライブへも追加される

 

* フォルダーのなにもないところへ追加する場合。

HKEY_CLASSES_ROOT\directory\BackGround\shell

 

* ドライブへ追加する場合。

HKEY_CLASSES_ROOT\Drive\shell

 

* 特定の拡張子へ追加する場合。

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.拡張子\shell

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell など

 

* 特定の種類のファイルへまとめて追加する場合。

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\image\shell

* audio,image,text,video などがある。

 

- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - 

* メニューに名前を付ける場合。

(文字列値) MUIVerb

 

* サブメニューにする場合。

・(文字列値) ExtendedSubCommandsKey

・(文字列値) SubCommands

・サブキーを作成

などなどなど・・・

 

サブメニューを作成する方法は複数あってなかなか複雑なので詳しくは自身で検索してください。

参考URL :

ExtendedSubCommandsKey レジストリ エントリを使用してカスケード メニューを作成する - Win32 apps | Microsoft Learn

ショートカット メニュー ハンドラーの作成 - Win32 apps | Microsoft Learn

レジストリキー :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell

 

* メニューに区切り線を挿入する場合。

(DWORD値) "SeparatorBefore"=dword:00000001 項目の前に追加

(DWORD値) "SeparatorAfter"=dword:00000001  項目の後ろに追加

(DWORD値) "CommandFlags"=dword:00000008  項目自体を区切りにする

 

* メニューの表示位置を指定する場合。

(文字列値) Position

値のデータ :  Top   上の方

      Middle 中央付近

      Bottom 下の方

 

* SHIF+右クリで表示する場合。

(文字列値) Extended

 

- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - 

レジストリの編集は自己責任でお願いします。

とは言っても、今回は追加なので間違ったとしても動作しないぐらいだから
そんなに慎重にならなくても大丈夫だと思うけど・・・