0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Edit With Notepad++が表示されない事がある

Posted at

32-bit アプリケーションとレジストリ shellex

64-bit WindowsにNotepad++ 64-bitをインストールしている時、32-bitアプリケーションのコモン ダイアログ(開く、保存、等)でファイルを右クリックするとEdit With Notepad++が表示されません。
このメニューはレジストリのHKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\ANotepad++64に記述されておりNppShell_06.dllからシェルへのメニューが返されますが、x86アプリケーションからx64のDLLは呼び出せないためです。
WinMerge等も同様の仕組みです。

レジストリ shell

WinMergeでは拡張メニュー等複雑な機能があるためDLLによるシェル拡張が必要ですが、Edit With Notepad++は単純にNotepad++でファイルを開くだけです(多分)。
であれば、notepad++.exeのコマンドライン引数に渡すだけでも実現可能です。

EditWithNotepad++.reg
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Notepad++]
@="Edit with &Notepad++"
"Icon"="\"C:\\Program Files\\Notepad++\\notepad++.exe\""

[HKEY_CLASSES_ROOT\*\shell\Notepad++\command]
@="\"C:\\Program Files\\Notepad++\\notepad++.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked]
"{B298D29A-A6ED-11DE-BA8C-A68E55D89593}"=""

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked{B298D29A-A6ED-11DE-BA8C-A68E55D89593}を追加し(無効化)、
代わりにHKEY_CLASSES_ROOT\*\shell\Notepad++にアイコンとコマンドを設定します。
レジストリを設定したら、一旦サインアウトしてもう一度サインインします。
(又はExplorer.exeを再起動)

注意

複数のファイルを選択した時、マルチインスタンスの設定をしている時等、異なる挙動になる可能性があります(未確認)。

元に戻す

-EditWithNotepad++.reg
Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\*\shell\Notepad++]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked]
"{B298D29A-A6ED-11DE-BA8C-A68E55D89593}"=-

レジストリを設定したら、一旦サインアウトしてもう一度サインインします。
(又はExplorer.exeを再起動)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?