プロトコルごとに利用するプログラムを設定する方法を教えて下さい。
例えば、 ssh://<hostname> というURLだとPuttyが起動するように割り当てたいのですが
スタート→既定のプログラム→ファイルの種類又はプロコトルのプログラムへの関連付け
こちらの設定項目では既存のプログラムの変更はできますが、新規にプロトコルを登録する方法がわかりません。
よろしくお願いします。
レジストリにプロトコルを登録する方法
Register protocol - MozillaZine Knowledge Base
REGEDIT4
[HKEY_CLASSES_ROOT\ssh]
@="URL:ssh Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\ssh\shell]
[HKEY_CLASSES_ROOT\ssh\shell\open]
[HKEY_CLASSES_ROOT\ssh\shell\open\command]
@="\"C:\\Program Files\PuTTY\\putty.exe\" \"-load %1\""
これで登録すれば、ssh://session_name でセッション名を指定して起動できるかと。
ssh://user@pass:host:port/
こういったアドレスで起動する場合は、別途引数に分解するスクリプトを組み合わせる。
「ssh~」というスキームを要求した時、ターミナルエミュレータが起動するようにする - ytyng.com
(navigator.registerProtocolHandlerでローカルのプログラムに関連付けることはできなさそう)
レジストリにプロトコルを登録する方法
Register protocol - MozillaZine Knowledge Base
REGEDIT4
[HKEY_CLASSES_ROOT\ssh]
@="URL:ssh Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\ssh\shell]
[HKEY_CLASSES_ROOT\ssh\shell\open]
[HKEY_CLASSES_ROOT\ssh\shell\open\command]
@="\"C:\\Program Files\PuTTY\\putty.exe\" \"-load %1\""
これで登録すれば、ssh://session_name でセッション名を指定して起動できるかと。
ssh://user@pass:host:port/
こういったアドレスで起動する場合は、別途引数に分解するスクリプトを組み合わせる。
「ssh~」というスキームを要求した時、ターミナルエミュレータが起動するようにする - ytyng.com
(navigator.registerProtocolHandlerでローカルのプログラムに関連付けることはできなさそう)
回答ありがとうございます。
上の方法はセッション名となってしまうようですね。
大量のリンクとなるため、この方法では解決出来ないようです。
明日、2つ目の方法を試してみようと思います。
今、思いついたのですが1つ目の方法で
ssh://user@hostname/ にリンクされている場合、最後に putty -ssh %1 とすることで引数をそのまま渡せそうですね。
試してみます。
回答ありがとうございます。
2012/07/05 22:47:52上の方法はセッション名となってしまうようですね。
大量のリンクとなるため、この方法では解決出来ないようです。
明日、2つ目の方法を試してみようと思います。
今、思いついたのですが1つ目の方法で
2012/07/05 23:06:19ssh://user@hostname/ にリンクされている場合、最後に putty -ssh %1 とすることで引数をそのまま渡せそうですね。
試してみます。