Windows 7でデフォルトのブラウザーをリストにないプログラムに変更するにはどうすればよいですか?


25

私は定期的に複数のブラウザーを使用しているため、既に実行中のブラウザー(またはFirefoxがない場合)でページを開くスクリプトを作成しました。このスクリプトをデフォルトのブラウザとして設定したい。[関連付けの設定]ダイアログに移動してHTTPを選択し、[プログラムの変更]をクリックすると、ポップアップするダイアログで、既にインストールされているWebブラウザーの1つ以外を選択できません。これは、すべてのプロトコルに当てはまるようです(ファイル拡張子ではなく、「その他のプログラム」から選択するか、リストにないプログラムを参照できます)。Windowsヘルプはこれについて何も述べておらず、利用できない「参照...」ボタンを使用するように言っています。サードパーティの「デフォルトプログラムエディタ」も試してみましたが、それができないようです。

スクリプトをデフォルトとして手動で設定する方法はありますか(レジストリを編集することにより)。

回答:


36

はい、レジストリを直接操作してスクリプトを作成できます。

短い答え

次の各コピー.reg(のようなファイルfirefox.regchrome.regie.reg)あなたが(または、スクリプト切り替えたいときにそれらを実行しますreg.exe)。

Firefoxの場合:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="FirefoxURL"

Chromeの場合:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="ChromeHTML"

IE9の場合:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="IE.HTTP"

長い答え

Windowsは、ユーザーごとの標準プロトコルDefault RegistrationsをUrlAssociationsキーの下に保存します。

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations

ファイルの関連付けと同様に、リンクには「デフォルトプログラム」があります。これはUserChoicehttpキーを参照する専門用語の一種です。ProgIdの下には標準のファイル関連付けのようなシェル登録あり、これ変更できますが、ブラウザの近位構成はデフォルトプログラムを使用します(これに関する追加のコメントについては、下を参照してください)。

ここで話しているのは、コントロールパネルの[既定のプログラム]セクションに移動してブラウザを設定するときに変更するものです。

コントロールパネルのプロトコルのデフォルトプログラム

レジストリでこれを直接設定するには、まず、すでに存在するものを調べてみましょう。このスクリーンショットでは、のキーに移動しregedit.exeましたChromeHTML。Chrome はProgId値で指定されたデフォルトのブラウザーです。

regeditのUrlAssociationsサブキーへの移動

あなたは、リンクをクリックしたときに表示され、ブラウザのスイッチに加える必要がある最小限の変更は変更することですProgId下の値をUserChoice使用すると、おそらく(変更したい各プロトコルにサブキーhttphttps同じになりますが、あなたはそれぞれを作りたかったいくつかの理由であれば別のブラウザで開いているもののうち、可能です)。

これで、Firefox、IE、および他のブラウザーに切り替えたい場合に使用するものを決定するだけです。プログラムでこれを決定したい場合Capabilitiesは、Firefoxのブラウザ登録のキーを掘り下げることで決定できます。

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE\Capabilities\URLAssociations

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet すべてのブラウザがリストされている場所であり、それぞれが上記の構造を持っている必要があります。

regeditのCapabilitiesキーへの移動

検査から、Firefoxに切り替えたい場合は、FirefoxURLUrlAssociationsのProgId値をバックアップして使用することがわかります。

(ただし、このように掘り下げたくない場合は、簡単なカンニングがあります。デフォルトのブラウザを設定し、regeditを更新してブラウザの設定を確認してくださいUserChoice!)

キー値をに変更するだけでFirefoxURL、Firefoxでリンクが開きます。その後、リンクをクリックするか、コントロールパネルで正しいデフォルトが登録されていることを再確認します。

コントロールパネルでデフォルトプログラムを再確認する

細心の注意を払っていると、次の2つの欠陥に気づいたかもしれません。

  1. IE URLAssociationsのブラウザ登録の下にサブキーがないStartMenuInternetので、ProgId値はどこから来ますか?回答:少なくとも、それ以上の研究が必要です。ハードコードされているか、まだ見つかっていない別のキーに含まれている可能性があります。

  2. FirefoxのプログラムIDのその下のURLAssociationsですFirefoxURLが、あなたはブラウザ自体のオプションに登録する]をクリックしたときに、それが使用するFirefoxHTML代わりのProgIdとして!どうして?繰り返しますが、私は知りません。どちらも存在し、Firefoxを指しているため、両方とも機能します。意図的なものかもしれませんが、おそらく効果のない単なるバグです。

  3. UserChoiceデフォルトプログラムがない場合はどうなりますか?回答:プロトコル(たとえば、http)の「通常の」ファイルの関連付けが使用されます。これはHKCU\Software\Classes、ファイルの関連付け(、、HKLM\Software\ClassesおよびビューHKCR)と同様に、標準のProgIdの場所にあります。少なくともChromeはそこに情報を設定しますが、少なくとも私のテストではFirefoxはそうではないようです。

  4. これを既定のプログラムエディターに追加する場合は、そのアプリケーションのUserVoiceフィードバックページで提案し、投票することをお勧めします。開発者が開発時間をどのように費やすかを決定する際に、アプリケーションの作成者がそのフィードバックに注意を払うのは良い権限です。


2
詳細な対応ありがとうございます。インストールされているブラウザの1つ以外をデフォルトのHTTPハンドラとして設定したい場合はどうすればよいですか?レジストリにまだインストールされていないものを使用するように設定することも可能ですか?または、スクリプトのレジストリエントリを作成する必要がありますか?
モーガン11

2
@MorganMayあなたがする必要があるのは、UserChoiceデフォルトのプログラム登録を削除して、ポイント#3で参照されるように、「標準」ファイル関連付けキーが使用されるようにすることです。たとえば、デフォルト値を見てくださいHKEY_CLASSES_ROOT\http\shell\open\command(重要HKEY_CURRENT_USERな場合は、標準ユーザーとして同じキーを書き込むことができます)。ただどんなパラメータ文字列ブラウザのニーズをアプリケーションパスや設定の問題でなければなりません(例えば、-- %1私はクロームのためだと思う)
ファクターミスティック

1
最後まで読んでよかった。ProgIdエントリを削除し、HKCR \ http \ shell \ open \ commandで「デフォルト」ハンドラーを設定する組み合わせ
ブレント

-1

Windows 10でデフォルトのプロトコルハンドラーとしてカスタムなものを設定しようとしているときに、この答えを見つけた人が他にいるなら、私はそれを解読したと思います。

この質問に対するもう1つの答えClients\StartMenuInternetは、Windows 7でデフォルトのブラウザーを設定することについて知らなかったキーに一歩近づきました。しかし、FirefoxのStartMenuInternetキーをほとんど複製した後、私のプログラムはまだ設定に表示されませんアプリ。

Revo Uninstallerを使用してfirefoxのアンインストールを開始し、firefoxのアンインストーラーをキャンセルし、Revoに残っているレジストリキーをスキャンさせた後、別のキーを見つけましたHKLM\SOFTWARE\RegisteredApplications。これは、ウィンドウにその機能について通知できるように登録されたすべてのプログラムを保存しているようです。

だから、設定後にStartMenuInternetキーを、中にキーを追加HKLM\SOFTWARE\RegisteredApplicationsするポイントにSoftware\Clients\StartMenuInternet\YOURPROGRAM\Capabilities正確にそのように、で始まる、はい- Software\

regeditのスクリーンショット(担当者が10人になるまで画像を埋め込むことはできません...)


-1

プログラム(YName.exe)をブラウザーと見なすには、登録する必要があります。

1)... StartMenuInternet-上記のように、

HKCU \ Software \ Clients \ StartMenuInternet \ YName \ Capabilities \ URLAssociations

http = YNameURL

https = YNameURL

2)HKCU \ Software \ RegisteredApplications-上記のとおり:

YName = Software \ Clients \ StartMenuInternet \ YName \ Capabilities

3)HKCU \ Software \ Classes \ YNameURL \ shell \ open \ command

@ = Path \ YName.exe

4)HKCU \ Software \ Classes \ Applications \ YName.exe \ shell \ open \ command

@ = Path \ YName.exe



1
スーパーユーザーへようこそ!回答は英語でなければなりません(完全に)。
グロルフィンデル

(1)  スーパーユーザーは英語のみのサイトです。英語以外の回答部分を削除してください。(2)すべての答えは、それ自体で立つ(意味をなす)ことができるはずです。これはしません。回答は、他の回答に関して「上記のように」と言ってはなりません。これを編集して、それ自体が意味をなすようにしてください。クレジットを与える限り、他の回答の一部をコピーしても構いません。(3)これが言っていることのほとんどはすでに言われているようです。追加する新しい情報を明確にしてください。
スコット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.