我正在尝试构建一张安装CD,其中自定义MFC应用程序设置为在插入CD时自动运行。
这些说明包含在一个简单的html页面中,其中包含PDF文档的图像和链接,所有这些都位于CD上。
过去我使用以下内容使用默认浏览器打开html页面:
ShellExecute(NULL, "open", <full path to .htm file including CD drive letter>, NULL, NULL, SHOWNORMAL);
但是当在Vista下使用IE8进行测试时,我遇到了以下情况:
这与保护模式有关,因为如果关闭互联网区域的保护模式,问题就会消失。
奇怪的是,问题只会在刻录到CD上时出现。如果我只是从我的硬盘驱动器手动运行自动运行可执行文件,那么html页面就可以了。
所以我在问我能解决这个问题吗? 或者,如果有另一种机制用于打开可能没有此问题的用户默认浏览器的URL?
答案 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上创建的机器不同的驱动器号?