2009.03.26 by sfufoet

Default Browser Appinn – 自动切换默认浏览器

67
Default Browser Appinn   自动切换默认浏览器[图] | 小众软件

小众读者 lo2king 请求帮忙寻找的软件。

有没有这样一种东西?我当前使用的是哪个浏览器,就会自动设置为默认,然后别的程序一点就是当前浏览器打开。不会说我开着 maxthon 然后点了 IM 里的链接之后又跑去开我默认的 Firefox 浏览器。

没有这样的东西,但是可以用 AHK 写出来。于是我就写了这个 Default Browser Appinn。正在使用哪个浏览器,哪个浏览器就是默认的。此程序支持 Firefox、IE(只是测试了 IE7,理论上支持 IE8)、OperaChromeMaxthon

不支持 safariTheWorld。我把 safari 4 设置为默认,点击链接居然是在上一个默认浏览器里打开,对它很无语,直接无视。 TheWorld 也很难搞,明明修改了注册表里的默认浏览器的键,打开链接居然出现错误窗口。

Default Browser Appinn 不用设置就可使用。软件也支持自定义浏览器的路径。比如,想自定义 firefox 的路径,找到以下代码:

<Item>
  <BrowserClass>MozillaUIWindowClass</BrowserClass>
  <BrowserProcess>firefox.exe</BrowserProcess>
  <BrowserPath>Null</BrowserPath>
  <Remark>Firefox</Remark>
</Item>

把其中的 <BrowserPath>Null</BrowserPath> 修改为 <BrowserPath>F:\Firefox3\App\firefox\firefox.exe -profile F:\Firefox3\Data\profile</BrowserPath>。

源代码在 Source Code 文件夹里面。运行的时候,注意看名字,带 XP 字样的是给 XP 用户的。另外一个是给 Vista 用户的。

运行它的时候,会自动备份注册表里当前默认浏览器的相关键值,手工退出的时候,自动还原到你原来的默认浏览器。注意:在它运行着的情况下,关闭或注销系统是不会触发还原默认浏览器的功能。我们没办法实现。

下载(415KB 源代码+EXE):uushare|来自小众软件|skydrive|dropbox

特别感谢蓝蓝小雪的帮助,他完成了 Vista 版。后生可畏,他才初二。

update:有读者反应,软件无效的问题。其实是遨游的问题。测试的时候我也遇到了。只要遨游是原来系统默认的浏览器就会发生此软件怎么改注册表都在遨游打开的问题。

我也不知道遨游是怎么做到的,注册表明明修改了。建议把其他浏览器设置为默认,在用它就没问题了。

update: 9loong 推荐一个类似的软件 BrowserTraySwitch,在托盘切换默认浏览器。

27 Comments:

  1. 1. dupola # 2009/03/26 07:20

    初二啊才,好厉害。

    回复

    天毅 # 2009/03/26 07:34

    @dupola, 大腿占住,其实初中是最好的学习阶段,希望这位同学能坚持下去,建议现在开始c语言入门

    回复

    蓝蓝小雪 # 2009/03/26 20:19

    @天毅, 我来报到了……c语言的基础我会的……我现在用c#……开发过几个软件:蓝雪密码管理解决方案、蓝雪连连看

    盒子 # 2009/03/26 10:01

    @dupola, 同意,有前途

    回复

  2. 2. 天毅 # 2009/03/26 07:32

    谢谢分享,哈哈。板凳来支持!

    回复

  3. 3. 天毅 # 2009/03/26 07:37

    谢谢分享源码,我用来学习了

    回复

  4. 4. Cataero # 2009/03/26 08:39

    蓝蓝小雪童鞋的链接错误,多打了一个w

    回复

    sfufoet # 2009/03/26 11:32

    @Cataero, 多谢提醒。已经修正。

    回复

    蓝蓝小雪 # 2009/03/28 20:28

    @sfufoet, 没有多大。就是wwww……

  5. 5. wqdsa # 2009/03/26 09:19

    正好…我是用theworld的…路过…

    回复

  6. 6. imac # 2009/03/26 09:23

    已经显示默认浏览器是Firefox3了,可是点QQ空间,还是自动启动遨游啊。QQ09第二版。无语…

    回复

    sfufoet # 2009/03/26 11:31

    @imac, 是遨游的问题。测试的时候我也遇到了。

    只要遨游是原来系统默认的浏览器就会发生此软件怎么改注册表都在遨游打开的问题。

    我也不知道遨游是怎么做到的,注册表明明修改了。建议把其他浏览器设置为默认,在用它就没问题了。

    回复

    AK47 # 2009/05/01 01:43

    @sfufoet, 傲游设置里有个选项叫DDE还是啥的劫持了默认浏览器。

  7. 7. lo2king # 2009/03/26 09:52

    其实…我喜欢别人叫我LooKing…
    谢谢sfufoet了…我才问过小青蛙不就就收到了你的邮件…谢谢…

    回复

    sfufoet # 2009/03/26 10:16

    邮件给你的版本比较旧,还不支持遨游。这个版本支持。

    回复

  8. 8. 盒子 # 2009/03/26 10:02

    AHK是一个什么样的工具啊,这么神奇,看到这里好多都是用AHK写的。

    回复

  9. 9. 不牛 # 2009/03/26 10:04

    [GreenBrowser]用户泪流满面……

    回复

    天毅 # 2009/03/26 14:04

    @不牛, 我也是GB的忠实用户,很低调但是很好用的一个浏览器,想当年是和遨游齐名的啊……

    回复

  10. 10. Louis # 2009/03/26 10:31

    不知道对Firefox Portable能不能支持

    回复

    sfufoet # 2009/03/26 10:37

    对 Firefox Portable 需要自定义 FF 路径和参数,就像文章中的例子一样。

    回复

  11. 11. hzhbest # 2009/03/26 10:50

    我有个想法,能不能不写注册表,而是把浏览器外打开的链接截获并自动发送到当前打开的浏览器(按Z顺序或者提供选择菜单)中打开,系统默认浏览器也不用更改。这样是不是会更简单点?

    回复

    sfufoet # 2009/03/26 11:25

    @hzhbest, 想法不错。可惜 AHK 作不到。我不知道其他编程语言能不能做到。

    回复

    hzhbest # 2009/03/26 15:38

    @hzhbest, --我这个想法的后续想法被楼下的 @Cataero 抢先说出来了(英雄所见略同?),看来还是有可能实现的。

    回复

    Cataero # 2009/03/26 16:15

    @hzhbest, 但是这样还是修改了Reg呀,所以我没回你这个

    lizky # 2009/03/26 16:43

    @hzhbest, 傲游的supersendto倒是可以做到

    回复

    hzhbest # 2009/03/26 17:47

    不习惯这样一层一层变窄下去的回复……
    @Cataero :的确是呢,只是不用每次都改注册表(除注册表之外就只有像木马那样暴力的方法了吗?)
    @lizky :Firefox下也有 IEView(lite) (功能比你提到的更弱)可以调用其他浏览器的扩展,不过还是没有可以“随机应变”的。

    回复

    御主人様 # 2009/03/27 06:36

    @hzhbest, firefox下用ietab和operaview已然完全足够了
    完全我一向鄙视ie来着……
    最糟糕浏览器没有之一

  12. 12. linsk # 2009/03/26 10:57

    其实我更想要。设置safari为默认浏览器,当从QQ等不支持非IE的程序进入网页的时候用IE打开。
    之前把opera设置为默认浏览器,可是每当打开QQ空间(对其他浏览器支持依然不是很好)等网页是真是纠结。

    回复

    sfufoet # 2009/03/26 11:28

    @linsk, 这个想法从收到 lo2king 的邮件之后,我就有了。本来想整合在一起的。后来觉得没必要,也会使脚本比较臃肿。

    还是单独开发一个出来比较好。

    回复

    Cataero # 2009/03/26 15:18

    @sfufoet, 一个思路:写一个小程序,设置为默认浏览器,就可以截获所有的HTTP请求,然后再根据情况(比如域名)调用不同的浏览器。我写了一点试验性AHK代码,确实可以截获url,在run里直接输入url就会打开我的程序,在twhirl里点击链接也会被截获,不过有个问题,在run里打开的时候,会报个错,说找不到url文件,不知道为什么。
    试验代码很简单:
    test.ahk:
    Loop %0%
    {
    MsgBox, , Test, % %A_Index%,
    }
    编译成exe,然后修改Reg:
    HKCR\http\shell\open\command\(Default)=”Some\path\test.exe” “%1″

    sfufoet # 2009/03/26 16:26

    @Cataero 的确是一个思路。

    linsk # 2009/03/28 16:07

    @sfufoet, 这东西早日出来吧~~非常需要

  13. 13. scavin # 2009/03/26 11:08

    我一直以为蓝蓝小雪是个 MM,看他头像却是男的。。。

    回复

    G # 2009/03/26 11:29

    @scavin, 后生可畏…实在是厉害~

    回复

    蓝蓝小雪 # 2009/03/26 20:20

    @scavin, 又被我的名字骗了……哈哈哈哈……

    回复

  14. 14. 存在 # 2009/03/26 11:41

    怎么不管用哦?我仅仅开着firefox或者chrome,点击QQ里的链接,还是去打开MAXTHON,怎么回事呢?

    回复

    sfufoet # 2009/03/26 12:13

    是遨游的问题。测试的时候我也遇到了。

    只要遨游是原来系统默认的浏览器就会发生此软件怎么改注册表都在遨游打开的问题。

    我也不知道遨游是怎么做到的,注册表明明修改了。建议把其他浏览器设置为默认,在用它就没问题了。

    回复

    Cataero # 2009/03/26 16:14

    @sfufoet, 如果仅仅是QQ有问题的话,看一下Reg:HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\Traveler\(Default)的值,我发现TheWorld和Maxthon都会修改这个,可能是当初MyIE2系的通病,估计GreenBrowser也有

    sfufoet # 2009/03/26 16:30

    我去看了键值,的确有一个 exe,里面的值是遨游的路径。

    反正只要把在遨游里设置默认浏览器,然后用这个软件不管怎么切换浏览器,都会出现全部链接用遨游打开的问题,不仅仅是 QQ。

    Cataero # 2009/03/26 18:20

    @sfufoet, 应该找到了原因:Maxthon和TheWorld会修改HKCR\http\(default)的值,从open修改为Maxthon或TheWorld,然后在HKCR\http下新建Key:“Maxthon\command\”或“TheWorld\command\”,所以你修改HKCR\http\open\command是没用的。
    还有,open下的ddeexec这个key是造成报错的根源,删掉就不报错了,

  15. 15. skystar # 2009/03/26 11:59

    呵呵,现在写软件也不需要特殊的技能

    回复

    sfufoet # 2009/03/26 12:13

    至少还需要逻辑能力。

    回复

    skystar # 2009/03/26 18:53

    @sfufoet, 恩,现在孩子逻辑都不错

  16. 16. Someone # 2009/03/26 14:36

    映像劫持?

    回复

    sfufoet # 2009/03/26 16:23

    不是,只是修改注册表的默认浏览器键值。

    回复

    hzhbest # 2009/03/26 17:48

    我突然觉得这也是一种思路(旁人:喂,你怎么确认这不是邪路?)……

    回复

    Someone # 2009/03/27 10:10

    @hzhbest, 我就是按照思路提的

  17. 17. 八百步 # 2009/03/26 15:06

    好猛的图标……

    回复

    蓝蓝小雪 # 2009/03/26 20:21

    @八百步, 图标是我做的。Google Chrome/Firefox和IE的结合体……

    回复

  18. 18. =.= # 2009/03/26 16:32

    碰到个问题,我把傲游设置成默认浏览器,但是打开网页文件时,依然是用的IE6,即使用了这个软件也是如此,谁能帮忙解决一下?

    回复

    sfufoet # 2009/03/26 16:41

    这个软件没有对网页文件进行关联,原来是什么浏览器关联的就用什么打开。

    建议把火狐设置为默认浏览器,再用遨游设置为默认,看看问题有没有解决。

    回复

    imac # 2009/03/26 17:21

    @sfufoet,谢谢,成功啦。

  19. 19. 蓝蓝小雪 # 2009/03/26 20:22

    把我名字的链接改成http://wwww.snow518.cn/
    文中Default Browser Appinn的链接居然是后台……囧

    回复

  20. 20. kdffyl # 2009/03/27 01:56

    mutslfjtbzdjvkosfpepsdcqjdcpbb

    回复

    蓝蓝小雪 # 2009/03/27 09:31

    @kdffyl, 你说啥……

    回复

    tireless # 2009/03/27 11:34

    @kdffyl, 我知道,他在说:去广告

    回复

  21. 21. 阿企 # 2009/03/27 10:32

    我是来看初中生的,自卑了

    回复

  22. 22. feifu363 # 2009/03/27 11:23

    讨厌还是TT,除非把TT重名.不然不管是chrome还是ff,从其它地方就默认为TT….

    回复

    蓝蓝小雪 # 2009/03/28 20:30

    @feifu363, 同感……流氓的不得了……流氓TX

    回复

  23. 23. 佰草集 # 2009/03/27 12:13

    用惯了FF,有的时候就得在IE使用,比如网银什么的,错位什么的,很实用的软件,谢谢分享~

    回复

  24. 24. imac # 2009/04/02 21:29

    这个软件的系统托盘能否添加一个隐藏的选项。

    回复

    sfufoet # 2009/04/02 21:51

    @imac, 右击任务栏,选择属性,在隐藏不活的的图标后面点击自定义,把它设置为永远隐藏。

    回复

  25. 25. 9loong # 2009/04/06 21:45

    推荐一个更强的[BrowserTraySwitch]:
    http://www.uushare.com/group/10044/topic/11358

    回复

    sfufoet # 2009/04/06 22:02

    @9loong, 多谢推荐。我在文章末尾更新一下。

    回复

  26. 26. 果果 # 2009/04/16 23:39

    謝天謝地,
    原來只要把exploer設為主瀏覽器,
    就可以趕走遨游這個瘟神′皿‵o

    之前他害到我開html檔也出現未知文件orz
    而且我發現,只要之前有預設過遨游為主瀏覽器,
    就算刪掉都好,想把k-meleon設為預設瀏覽器也是不可以的!!

    ie成功=\7=/

    萬歲~

    回复

  27. 27. alpha_boy # 2011/02/26 17:01

    取消傲游的浏览器锁定只需进入它自己的设置界面,点一下恢复IE为默认浏览器就可以了。

    回复

输入昵称与邮箱就可以评论

称呼*

邮箱*

网址