URL スキームを追加するには

Windows において、URL スキームとアプリケーションを関連付ける方法と、新しい URL スキームを追加する方法についてかきます。

Windows の規定の動作では、「http://〜」 というリンクをクリックすると、IEFirefox 等の Web ブラウザでその URL が開かれ、「mailto://〜」というリンクをクリックすると OutlookThunderbird 等のメーラが起動してメール作成画面に移る。

このような動作は、拡張子の関連付けと同様に「フォルダオプション」-->「ファイルの種類」で設定可能である。例えば http://〜 をクリックすると Excel が起動したりということもできる(この例に特に意味は無いが)。

hoge://〜」に対する関連付けは「URL スキーム」と呼ばれるものらしい。手元の環境では、http, https, rlogin, telnet, tn3270, ftp, callto, ldap, mailto, news, nntp, nntp, snews が URL スキームとして各種アプリケーションに関連付けられていた。

さて、これに新しく追加するためにはどうすればよいか、という話題。

調べてみると

  • 「新しい拡張子の作成」では作成できそうに無い。
  • 「HKEY_CLASSES_ROOT」には拡張子が登録されているが、URL スキームは見当たらない。

ということが分かった。

さらに調べると「HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES」以下に URL スキームの設定が存在することが分かった。

※注意: 無保証です。当然ながら、何をしているか分かる方、危険性を正しく理解している方のみ、バックアップをとるなどして十分な注意のうえでお使いください。下手をすると Windows が起動しなくなったり、作業データが消えてしまったり、PC が発火したりする可能性があります。最後のは冗談ですが。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailbox]
"URL Protocol"=""
@="URL:Mailbox Protocol"
"EditFlags"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailbox\DefaultIcon]
@="C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailbox\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailbox\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailbox\shell\open\command]
@="\"C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe\" -osint -mail \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\imap]
"URL Protocol"=""
@="URL:IMAP Protocol"
"EditFlags"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\imap\DefaultIcon]
@="C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\imap\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\imap\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\imap\shell\open\command]
@="\"C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe\" -osint -mail \"%1\""

関連URL: