Windowsの「既定のブラウザ」をワンタッチで切り換えるVBSスクリプト
※ 2009/01/23追記:スクリプトを改善した記事を投稿しました。「Windowsの「既定のブラウザ」にFirefox, Opera, DonutQ, IEなどをトグルで切り換えるVBSスクリプト」
[観] IE が標準のブラウザ(通常使用するブラウザ)に戻らない
http://watcher.moe-nifty.com/memo/2006/10/ie__2cb2.html
を拝見すると
- 窓の杜 - 【NEWS】通常使用するWebブラウザーを即座に変更するソフト「SetBrowser」v1.4
- Windowsのスタートメニューから「プログラムのアクセスと既定の設定」による「既定の Web ブラウザ」の選択
などでブラウザを切り換えられるようですが、そのためだけにソフトをインストールしてレジストリを汚したり、メニューをたどるのはめんどうなので、VBSスクリプトでレジストリ HKEY_CLASSES_ROOT\http\shell を直接編集します。
トグルでこのスクリプトを実行するたびに交互にFirefoxとOperaを切り換えます。三択以上の他のブラウザ(DonutQなど)とも切り換えたい場合は(ry
あらかじめ、Windowsのフォルダオプションの「ファイルの種類」の「URL: HyperText 転送プロトコル (HTTP)」の「アクション」にFirefoxとOperaを登録しておく必要があります。
( 4/6追記:HTTPとHTTPSレジストリにFirefox, Opera, DonutQのキーを登録するファイルを追記しました。)
- あらかじめ登録しなくても、すべてVBSスクリプトでもできるのですが、どうせ右クリックのコンテキストメニューにFirefox, Operaを表示させるために登録するので。
- HKEY_CLASSES_ROOT\http\shell のデフォルトの値の open を変更せずにバックアップしておく意味で。不具合があれば HKEY_CLASSES_ROOT\http\shell の値を open にもどせばおk
' ブラウザをトグルで切り換えるVBSスクリプト ' ※参考にさせて頂いたページ ' [観] IE が標準のブラウザ(通常使用するブラウザ)に戻らない ' http://watcher.moe-nifty.com/memo/2006/10/ie__2cb2.html ' [観] IE が標準のブラウザ(通常使用するブラウザ)に戻らない ― sleipnir から IE に戻す場合 ' http://watcher.moe-nifty.com/memo/2007/07/ie_sleipnir_ie_1528.html Option Explicit Dim objShell Set objShell = WScript.CreateObject("WScript.Shell") Dim strRegHttpKey, strRegHttpsKey, strRegHttpEntry, strRegHttpsEntry strRegHttpKey = "HKEY_CLASSES_ROOT\HTTP\" strRegHttpsKey = "HKEY_CLASSES_ROOT\HTTPS\" strRegHttpEntry = strRegHttpKey & "shell\" strRegHttpsEntry = strRegHttpKey & "shell\" Dim nowShell nowShell = objShell.RegRead(strRegHttpEntry) WScript.Echo "現在のHTTPのシェルは " & nowShell & " です。" If nowShell="Firefox" Then objShell.RegWrite strRegHttpEntry, "Opera", "REG_SZ" objShell.RegWrite strRegHttpsEntry, "Opera", "REG_SZ" Else objShell.RegWrite strRegHttpEntry, "Firefox", "REG_SZ" objShell.RegWrite strRegHttpsEntry, "Firefox", "REG_SZ" End If nowShell = objShell.RegRead(strRegHttpEntry) WScript.Echo "HTTPのシェルを " & nowShell & " に変更しました。"
VBSはこのスクリプトを書くために調べた初心者です><
4/6追記 フォルダオプションのレジストリにOpera, Fierfox, DonutQを登録するファイル
「フォルダオプション」からHTTPやHTTPSにひとつひとつOpera, Firefox, DonutQを登録するのは面倒ですよね。
レジストリファイルを作りました。動作確認はしていないので、自己責任で(ぇ
あとファイルのパス名も自分のPCにあわせて書き換えて下さい。
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\HTTP\shell\Donut] @="Donut" [HKEY_CLASSES_ROOT\HTTP\shell\Donut\command] @="\"D:\\Program Files\\DonutL32\\Donut.exe\" /dde" [HKEY_CLASSES_ROOT\HTTP\shell\Donut\ddeexec] @="[open(\"%1\")]" [HKEY_CLASSES_ROOT\HTTP\shell\Donut\ddeexec\application] @="Donut" [HKEY_CLASSES_ROOT\HTTP\shell\Donut\ddeexec\topic] @="system" [HKEY_CLASSES_ROOT\HTTP\shell\Firefox] [HKEY_CLASSES_ROOT\HTTP\shell\Firefox\command] @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -requestPending -osint -url \"%1\"" [HKEY_CLASSES_ROOT\HTTP\shell\Opera] [HKEY_CLASSES_ROOT\HTTP\shell\Opera\command] @="\"C:\\Program Files\\Opera\\Opera.exe\" %1" [HKEY_CLASSES_ROOT\HTTPS\shell\Donut] @="Donut" [HKEY_CLASSES_ROOT\HTTPS\shell\Donut\command] @="\"D:\\Program Files\\DonutL32\\Donut.exe\" /dde" [HKEY_CLASSES_ROOT\HTTPS\shell\Donut\ddeexec] @="[open(\"%1\")]" [HKEY_CLASSES_ROOT\HTTPS\shell\Donut\ddeexec\application] @="Donut" [HKEY_CLASSES_ROOT\HTTPS\shell\Donut\ddeexec\topic] @="system" [HKEY_CLASSES_ROOT\HTTPS\shell\Firefox] [HKEY_CLASSES_ROOT\HTTPS\shell\Firefox\command] @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -requestPending -osint -url \"%1\"" [HKEY_CLASSES_ROOT\HTTPS\shell\Opera] [HKEY_CLASSES_ROOT\HTTPS\shell\Opera\command] @="\"C:\\Program Files\\Opera\\Opera.exe\" %1"