mailto: プロトコルを扱えるプログラムを書いています。ユーザーが自分のプログラムをデフォルトの電子メール ハンドラーとして選択できるようにするために、プログラムを登録しました。ただし、一部のプログラムでは、ファイル エクスプローラーなど、会社名の下に会社の Web サイトへのクリック可能なリンクが表示されることに気付きました。
アプリが選択されたときに既定のプログラム UI が表示されるように、自分の Web サイトへのリンクを指定するにはどうすればよいですか?
Microsoft Visual Studio 2013 Ultimate を使用しています。.reg 形式のプログラム登録の詳細は次のとおりです。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
"MyMail"="SOFTWARE\\MyFirm\\MyApp\\Capabilities"
[HKEY_LOCAL_MACHINE\SOFTWARE\MyFirm\MyApp\Capabilities]
"ApplicationDescription"="This is an awesome description."
"ApplicationName"="Awesome App"
[HKEY_LOCAL_MACHINE\SOFTWARE\MyFirm\MyApp\Capabilities\URLAssociations]
"mailto"="mailto.2"
[HKEY_CLASSES_ROOT\mailto.2]
@="URL:MailTo Protocol"
"EditFlags"=dword:00000002
"FriendlyTypeName"="My Mail Client"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\mailto.2\shell\open\command]
@="\"C:\\bg\\awesome.exe\" \"%l\""
ファイル エクスプローラーのクリック可能なリンクの例を次に示します。
これがリンクのない私のアプリケーションです
これは私がこれまでに見つけたものです:
すべてのアプリにこのリンクが表示されるわけではありません。
Microsoft アプリと Microsoft 以外のアプリの両方でこのリンクを表示できます。たとえば、CyberLink PowerDVD は www.cyberlink.com へのリンクを表示します。
すべての Microsoft アプリがリンクを表示するわけではなく、リンクを表示するアプリの URL が異なる場合があります。たとえば、Microsoft Corporation による 3 つのアプリ: ペイント - リンクなし、フォト ギャラリー - http://www.microsoft.com、Visual Studio 2013 - http://microsoft.com (www なし)。
Skype for Desktop には、会社 Skype Technologies SA とhttp://www.microsoft.comへのリンクが表示されます。
リンク アドレスがレジストリに保存されているようには見えません。これは、shell\open\command の下にリストされている実行可能ファイルに格納されています。
実行可能ファイルにリソースとして保存されているようには見えません。
sysinternalsの文字列ツールは、実行可能ファイル内のリンク アドレスを検出しません。