3

java -jar myApp '%1' のようなコマンドを呼び出して、Java アプリケーションを起動するためのプロトコル ハンドラを作成しています。現在、私はChrome用に実装しており、正しく動作しているようです。残念ながら、私は Firefox と IE で同じ動作をしていません (変ですね?! XD )

ここで私の実装。

プロトコルの名前は dgh です。最初のインストール中に、私のアプリケーションは Windows レジストリに次のキーを設定しました

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\dgh]
@="URL:DgHome  Protocol"
"URL Procol"=""

[HKEY_CLASSES_ROOT\dgh\DefaultIcon]
@="C:/DGHOME/IPlusConf.exe,1"

[HKEY_CLASSES_ROOT\dgh\shell]

[HKEY_CLASSES_ROOT\dgh\shell\open]

[HKEY_CLASSES_ROOT\dgh\shell\open\command]
@="java -jar C:/DGHOME/Pch/lib/pch.teleconsulto.jar \"%1\""

クロムではこれで十分です。Firefox では、 about:configにいくつかの設定を追加する必要がありました。

network.protocol-handler.expose.dgh;true
network.protocol-handler.external.dgh;true
network.protocol-handler.warn-external.dgh;false

このようにして、Firefox は少なくともアプリケーションを起動するかどうかを尋ね、いずれかを選択するように求めます。それは望ましくありません。設定したコマンドを呼び出して、初めてユーザーにそれについてアドバイスします。

IE では何も起こらず、私のリンクから Web ページ参照を開くことができないと表示されます。

ここで、テストとして使用したリンクのセット

<a href="dgh://call/open?id='kit1.teleconsulto'">Open call to kit1.teleconsulto</a>
<a href="dgh://teleconsult/start?id='kit1.teleconsulto'">
   Open teleconsult to kit1.teleconsulto</a>
<a href="dgh://call/close">Close call</a>
<a href="dgh://call/end">Close client</a>
<a href="dgh://stethoscope/start">On Phonendo</a>

ここでいくつかの参照: プロトコル ハンドラーのインストールと登録 http://msdn.microsoft.com/en-us/library/aa767916%28VS.85%29.aspx

誰かが私を助けてくれることを心から願っています

4

2 に答える 2