0

wxyz:// で始まるすべてのリンクがアプリケーションを起動するように、Windows レジストリにカスタム URL ハンドラーを作成しました。

shell/open/command の下で、アプリケーションの exe パスを URL に置き換えることができることを発見しました。これにより、(デフォルト) が「iexplore http://mydomain.com?url=%1」に設定され、リンク wxyz:/ /thequickbrowsnfox をクリックすると、ユーザーのブラウザはhttp://mydomain.com?url=wxyz://thequickbrownfoxに移動します

Internet Explorer がユーザーの選択ではない可能性があることを考慮すると、ユーザーの既定のブラウザーを使用してページを開くにはどうすればよいでしょうか..

4

1 に答える 1

0

同じ質問を検索したところ、Windows RegKey - Default Browser Application Pathから回答が得られました。ただし、デフォルト ブラウザを取得するためのレジストリ パスが Vista 以降に変更されていることに気付きました: How Does Your Browser Know that It's Not The Default .

レジストリ値に基づいて、 (browser) のみを取得しますProgid"HKCR\\<Progid>\\shell\\open\\command".exe パスを取得するには、ここの回答のようにGet dll directory from ProgID から取得する必要があります。

私の懸念は、URL ハンドラーを設定した後にユーザーがデフォルトのブラウザーを変更した場合はどうなるでしょうか? URL ハンドラーが現在の既定のブラウザーを指していません。残念ながら、ブラウザーを起動する前に、(ブラウザー自体ではなく) URL ハンドラーを受け入れるアプリケーションを作成し、レジストリーで現在の既定のブラウザーを見つける必要があります。

于 2013-04-15T02:40:04.280 に答える