コンテキストメニューのカスタマイズ
カスタマイズと言っても追加する場合についてです。
備忘録を兼ねてなので簡単に。
以下では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
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
レジストリの編集は自己責任でお願いします。
とは言っても、今回は追加なので間違ったとしても動作しないぐらいだから
そんなに慎重にならなくても大丈夫だと思うけど・・・