LoginSignup
2
1

More than 5 years have passed since last update.

regjumpが神ってるのでURLプロトコルで指定のレジストリキーを開けるようにする

Last updated at Posted at 2017-05-31

regeditのコマンドラインオプションでは指定のレジストリキーを開けない

登録とか削除とかはできるが、目的のキーを一発で開くということができない

regjumpとかいう神アプリ(×2)

ちょっと混乱したのだが、regjumpという名前のソフトウェアは2つある。

ひとつは、Microsoft謹製、RegJump。こちらは純然たるコマンドラインツールであり、GUIは用意されていない。

もうひとつは、fenrirの作者として有名なforia氏の手になる、regjump。こちらはコマンドラインオプションこそあれGUIツールであり、基本的に起動して入力フィールドにレジストリキーを入力する形で利用する。

いずれも、引数としてレジストリキーを与えることで、レジストリエディタで指定のキーを即座に開くことができる。

今回の用途では前者で充分であるし、後者は今後のメンテが見込めないことから前者を利用するつもりだったのだが、なぜかプロトコルハンドラとして登録するとうまくいなかった。
よって、今回は後者を利用する。

regjumpのコマンドラインオプション

/c          クリップボードに格納されているレジストリキーにジャンプ
/s="RegistryKey"    RegistryKeyにジャンプ
/t          ジャンプしたら終了
/h          非アクティブになったら終了
/v          バージョン情報

/tについて、「ジャンプしたら終了」とあるが、/sと併用した場合、実際の挙動は「GUIを表示せず実行してそのまま終了」という感じになる。
(実はこの点、必ずコンソールが表示されるMicrosoft RegJumpより目立たずクールである)

例えば、コマンドプロンプト等で指定のレジストリキーを開くには、以下のようなコマンドを実行する。

<regjump.exeのフルパス> /t /s=<対象レジストリキー>

URLプロトコルハンドラの登録

今回、スキーム名はregとし、regjumpはC:\apps\RegJump\regjump.exeに配置するものとする。
キーHKEY_CLASSES_ROOT\reg\shell\open\commandを作成し、規定のコマンドを"C:\apps\regjump\regjump.exe" /t /s="%1"とする。

エクスポートしたものが以下。

reg_url_protocol.reg
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\reg\shell\open\command]
@="\"C:\\apps\\regjump\\regjump.exe\" /t /s=\"%1\""

例えば、「ファイル名を指定して実行」等でreg://HKEY_CLASSES_ROOT\reg\shell\open\commandを実行すると、先程登録したキーを開くことができる。

ただ、どちらかと言えば、regjump.exe /cをランチャかなにかに登録しておいて、コピーしたキーを開けるようにしたほうが使える機会は多いと思う。

2
1
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
2
1