.dll , .ocx ,.ax ファイルを Windows のレジストリに登録する機能を右クリックメニューを追加する方法です。
該当するファイルにしかメニューが出ないので、通常の使用で邪魔になりません。
登録用のメニュー
レジストリ キーを作成します。
HKEY_CURRENT_USER\Software\Classes\dllfile\shell\Register\command
Registerキーを開きます。
(既定)のデータを&Register
icon(文字列値)のデータをimageres.dll,-67
NeverDefault(文字列値)を作成します。
command キーを開きます。
(既定)のデータをregsvr32 "%1"にします。
登録解除用のメニュー
レジストリ キーを作成します。
HKEY_CURRENT_USER\Software\Classes\dllfile\shell\UnReg\command
UnRegキーを開きます。
(既定)のデータを&Unregister
icon(文字列値)のデータをimageres.dll,-89
commandキーを開きます。
(既定)のデータをregsvr32 /u "%1"にします。
ocxfile についても同様に設定します。
HKEY_CURRENT_USER\Software\Classes\ocxfile\shell
.axファイル用の設定
.axファイルも ActiveX control の一種ですので同様に設定できますが、デフォルトでは拡張子すら登録されていませんので、拡張子を ocxfile へ振り分けています。
なにか他のアプリで登録されている可能性もあるので、空であるのを確認してから登録します。
レジストリ キーを作成します。
HKEY_CURRENT_USER\Software\Classes\.ax
(既定)のデータをocxfileにします。
[HKEY_CURRENT_USER\Software\Classes\.ax]
@="ocxfile"
[HKEY_CURRENT_USER\Software\Classes\dllfile\shell\regsvr]
"MUIVerb"="DLLの登録"
"subcommands"=""
"icon"="imageres.dll,-114"
"NeverDefault"=""
[HKEY_CURRENT_USER\Software\Classes\dllfile\shell\regsvr\shell\Register]
@="&Register"
"icon"="imageres.dll,-67"
[HKEY_CURRENT_USER\Software\Classes\dllfile\shell\regsvr\shell\Register\command]
@="regsvr32 \"%1\""
[HKEY_CURRENT_USER\Software\Classes\dllfile\shell\regsvr\shell\UnReg]
@="&Unregister"
"icon"="imageres.dll,-89"
[HKEY_CURRENT_USER\Software\Classes\dllfile\shell\regsvr\shell\UnReg\command]
@="regsvr32 /u \"%1\""
[HKEY_CURRENT_USER\Software\Classes\ocxfile\shell\regsvr]
"MUIVerb"="ActiveXの登録"
"subcommands"=""
"icon"="imageres.dll,-114"
"NeverDefault"=""
[HKEY_CURRENT_USER\Software\Classes\ocxfile\shell\regsvr\shell\Register]
@="&Register"
"icon"="imageres.dll,-67"
[HKEY_CURRENT_USER\Software\Classes\ocxfile\shell\regsvr\shell\Register\command]
@="regsvr32 \"%1\""
[HKEY_CURRENT_USER\Software\Classes\ocxfile\shell\regsvr\shell\UnReg]
@="&Unregister"
"icon"="imageres.dll,-89"
[HKEY_CURRENT_USER\Software\Classes\ocxfile\shell\regsvr\shell\UnReg\command]
@="regsvr32 /u \"%1\""
元に戻すには、追加したキーや値を削除します。
カスタマイズ以前に何も設定していなければ以下の要領で簡単に戻せます。
[-HKEY_CURRENT_USER\Software\Classes\.ax]
[-HKEY_CURRENT_USER\Software\Classes\dllfile]
[-HKEY_CURRENT_USER\Software\Classes\ocxfile]
一工夫するとsubcommandを使って、カスケード メニューにもできます。
[HKEY_CURRENT_USER\Software\Classes\.ax]
@="ocxfile"
[HKEY_CURRENT_USER\Software\Classes\dllfile\shell\regsvr]
"MUIVerb"="DLLの登録"
"subcommands"=""
"icon"="imageres.dll,-114"
"NeverDefault"=""
[HKEY_CURRENT_USER\Software\Classes\dllfile\shell\regsvr\shell\Register]
@="&Register"
"icon"="imageres.dll,-67"
[HKEY_CURRENT_USER\Software\Classes\dllfile\shell\regsvr\shell\Register\command]
@="regsvr32 \"%1\""
[HKEY_CURRENT_USER\Software\Classes\dllfile\shell\regsvr\shell\UnReg]
@="&Unregister"
"icon"="imageres.dll,-89"
[HKEY_CURRENT_USER\Software\Classes\dllfile\shell\regsvr\shell\UnReg\command]
@="regsvr32 /u \"%1\""
[HKEY_CURRENT_USER\Software\Classes\ocxfile\shell\regsvr]
"MUIVerb"="ActiveXの登録"
"subcommands"=""
"icon"="imageres.dll,-114"
"NeverDefault"=""
[HKEY_CURRENT_USER\Software\Classes\ocxfile\shell\regsvr\shell\Register]
@="&Register"
"icon"="imageres.dll,-67"
[HKEY_CURRENT_USER\Software\Classes\ocxfile\shell\regsvr\shell\Register\command]
@="regsvr32 \"%1\""
[HKEY_CURRENT_USER\Software\Classes\ocxfile\shell\regsvr\shell\UnReg]
@="&Unregister"
"icon"="imageres.dll,-89"
[HKEY_CURRENT_USER\Software\Classes\ocxfile\shell\regsvr\shell\UnReg\command]
@="regsvr32 /u \"%1\""
元に戻すファイルは同じです。