使用默认浏览器在安装CD上打开html页面

时间:2009-07-28 18:59:31

标签: mfc internet-explorer-8 windows-vista shellexecute

我正在尝试构建一张安装CD,其中自定义MFC应用程序设置为在插入CD时自动运行。

这些说明包含在一个简单的html页面中,其中包含PDF文档的图像和链接,所有这些都位于CD上。

过去我使用以下内容使用默认浏览器打开html页面:

ShellExecute(NULL, "open", <full path to .htm file including CD drive letter>, NULL, NULL, SHOWNORMAL);

但是当在Vista下使用IE8进行测试时,我遇到了以下情况:

  1. 资源管理器启动
  2. 标签显示“正在连接”
  3. 资源管理器消失
  4. 这与保护模式有关,因为如果关闭互联网区域的保护模式,问题就会消失。

    奇怪的是,问题只会在刻录到CD上时出现。如果我只是从我的硬盘驱动器手动运行自动运行可执行文件,那么html页面就可以了。

    所以我在问我能解决这个问题吗? 或者,如果有另一种机制用于打开可能没有此问题的用户默认浏览器的URL?

2 个答案:

答案 0 :(得分:0)

由于您可以合理地确定已安装IE,因此您可能需要执行

iexplore.exe [URL] 

在你的求助电话中。

如果未安装IE,请检查返回值以查看是否未找到。如果是这样,您的原始shellex直接调用.htm文件。

或者,您可以将.htm复制到%TEMP%,然后从那里运行shellex调用。这样,它就可以从一个“危险”的地方绕过受保护的地方。

答案 1 :(得分:0)

您可以捕获并显示ShellExecute的返回码吗?这可能会让我们知道发生了什么。

result = ShellExecute(...

此处列出了可能的返回代码:

http://support.microsoft.com/kb/238245

它在您的问题中说您正在对CD-ROM驱动器号进行硬编码。您正在测试的机器是否具有与您在CD上创建的机器不同的驱动器号?