如何拦截Windows“系统默认浏览器中的打开URL”功能

时间:2010-09-24 03:33:44

标签: windows browser vmware sandbox

您好,我需要知道Windows在哪里/如何存储通过在非浏览器程序(即Thunderbird)中点击的URL的命令,并在系统默认浏览器中启动它。

我需要这些信息来编写一个脚本,允许我在安全的沙盒虚拟机中运行浏览器,但仍然保留从非浏览器程序(即我的主机操作系统上的电子邮件客户端)自动打开超链接的功能在我的虚拟机客户操作系统(xp)中选择的浏览器中。

有谁知道吗?如果重要的话,我正在运行Windows Server 2008 R2。但我假设大多数Windows版本以XP开头,也是这样做的。

由于

修改:我找到了this MS kb article

HKEY_CLASSES_ROOT\http\shell\open\command HKEY_CLASSES_ROOT\http\shell\open\ddeexec

我将这些密钥更改为指向我的脚本,但我的主机操作系统上的Firefox仍然启动,但后来抱怨它不再是默认浏览器。

除此之外,还必须有其他注册表项。

1 个答案:

答案 0 :(得分:0)

要在默认浏览器中打开URL,程序只需调用

ShellExecute(0, NULL, "http://...", NULL, NULL, 0)