内気なもんた君

時々日本語化してます

コンテキストメニューへ「秀丸で開く」を追加

コンテキストメニューへ「秀丸で開く」を追加

なにを今さら・・・と思われるかもしれないけど、これがどうしてなかなか奥が深い。

 

ポータブルモードでインストールすると関連付けは自身で行わなければなりません。

(通常モードでインストールしても関連付けされるのはtextの種類だけなのでいずれ編集は必要)

 

登録先として考えられるのは

HKEY_CLASSES_ROOT\*\shell

HKEY_CLASSES_ROOT\AllFilesystemObjects\shell

HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell

HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations\text\shell

などがあります。

登録先によってコンテキストメニューへ表示される拡張子が変わってくるので、使用状況に応じて選択しなければなりません。

私の場合は、カスタマイズをしている際に色々な拡張子をテキストエディタで開くので

HKEY_CLASSES_ROOT\*\shell

へ登録しています。

 

しかしながら、これだとほぼすべての種類で表示されてしまいます。

そこで、よく右クリする拡張子ではあるけど秀丸を表示させたくない場合のTips。

 

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Hidemaru]
@="秀丸で開く"
"AppliesTo"="NOT System.FileExtension:=\".rar\" AND NOT System.FileExtension:=\".7z\" AND NOT System.FileExtension:=\".zip\" AND NOT System.FileExtension:=\".exe\" AND NOT System.FileExtension:=\".dll\" AND NOT System.Kind:Picture AND NOT System.Kind:Music AND NOT System.Kind:Video"
"icon"="G:\\Tools\\Hidemaru64\\Hidemaru.exe,-101"

[HKEY_CLASSES_ROOT\*\shell\Hidemaru\command]
@="G:\\Tools\\Hidemaru64\\Hidemaru.exe %1"

 

圧縮ファイルや実行可能ファイル、DLL、画像、ミュージック、ビデオなどではコンテキストメニューへ表示されないようにしています。

この方法だと除外する拡張子を1か所で管理できるのでとても楽です。

 

*長くなるので一部抜粋

*Hidemaru.exeのパスは環境に応じて要編集

 

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

 

私の場合は開く拡張子の種類が多いので * へ登録して除外する方法をとっていますが、それとは逆に追加する方法もあります。

 

HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell

HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations\text\shell

などへ登録し、表示させたい拡張子を追加していく方法です。

上では、NOT で除外していますが、追加の場合は OR を使用します。

 

例 :

"AppliesTo"="System.FileExtension:=\".bat\" OR System.FileExtension:=\".cmd\""

 

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

 

* 特殊な指定方法

・属性指定 : System.FileAttributes:

 

・パス指定 : System.ParsingPath:

 

・サイズ指定 : System.Size:

 

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

 

* System.Kind の種類

上記以外にも色々あるので、こちら を参照。

 

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

 

これらを、NOT または OR で組み合わせることにより細かな指定が可能になります。

 

例として秀丸エディタコンテキストメニューを取り上げましたが、AppliesTo は他のコンテキストメニューでも使用できます。

これを参考にしてカスタマイズを楽しんでください。