
私はこのガイドに従っています@http://www.howtogeek.com/107965/how-to-add-any-application-shortcut-to-windows-explorers-context-menu/レジストリにコンテキスト メニューを作成します。
ショートカット (lnk 拡張子のもの) を除くすべてのファイルタイプのメニューを含めることは可能でしょうか?
現在、すべてのファイル タイプ メソッド (HKEY_CLASSES_ROOT*\shell) を使用していますが、ショートカット (.lnk ファイル) にも表示されます。
お知らせ下さい。
答え1
1つの解決策としては、同じキー名のエントリを作成してlnkファイルのメニューを上書きすることが考えられますHKEY_CLASSES_ROOT\lnkfile\shell
。たとえば、すべてのファイルタイプメニューが
[HKEY_CLASSES_ROOT\*\shell\DateTimeTool]
@="DateTime Tool"
新しい値は
[HKEY_CLASSES_ROOT\lnkfile\shell\DateTimeTool]
@="DateTime Tool (for shortcut)"
これによりエントリは削除されませんが、参照ファイルの代わりにショートカットのパスが提供されます。
答え2
設定したプログラムは、.lnk ファイル自体ではなく、それらの .lnk ショートカットのターゲットを開いていますね? そうであれば、それは当然のことです。ショートカットを開くときは、それがターゲット ファイル自体であるかのように扱われることを期待する必要があります。
特定のファイル拡張子を除外することに関しては、ワイルドカード * キーを使用してすべてのファイルタイプに対して設定している場合は不可能になります。
私は何年も前から、テキスト エディターで同じレジストリ ハックを設定しています。「開く」の一貫性があるのは素晴らしいことです。
ちなみに、アイコンを付けることもできます。「open with」キー内に「Icon」という名前の新しい文字列を作成し、それをプログラムまたはアイコンのパスに設定します。