c - 让IE浏览器打开文件

标签 c winapi com ole

我通过 COM/OLE 在我的 win32-C 应用程序中嵌入了默认的 Internet Explorer。 我显示一个网页有一个链接( anchor 标签)来保存/打开一个文件。 当我单击链接时,它会在后台进行一些处理,但不会给我一个要求保存或打开文件的对话框。从 Fiddler 我开始知道它正在写入缓存但无法访问它或显示任何弹出窗口。

我希望看到对话框要求我保存或打开文件(默认)

如果我从 IE 浏览器执行此操作,那么一切正常。

编辑:我尝试了 sample code在其中我确实看到了 Dialog Box为我提供了保存、打开文件的选项,尽管用 my code 记录了所有内容我还是没看到盒子。

我正在考虑无模式对话框问题,但我可以看到 Message Box在我的代码中。所以无模式对话框不会被禁用。

无法了解如何让它工作。

(注:请看附件)

编辑:我在我的代码中编辑了 The EmbedBrowser 函数,我的浏览器没有指向我的 IOleClientSite 对象的指针

新代码:- http://paste.ubuntu.com/1062010/

但问题依然存在!

最佳答案

我想通了这个问题。
接口(interface) DWebBrowserEvents2 的调用方法被实现为在下载时不显示文件下载框。 修改它以允许相同。

关于c - 让IE浏览器打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11162540/

相关文章:

c++ - Delphi XE - 无法从系统菜单中删除项目

iphone - 在 GCC 和 LLVM GCC 编译器中编译的区别

winforms - PowerShell 脚本返回错误的屏幕分辨率

c - PGD​​LLIMPORT 和 PostgreSQL C 钩子(Hook)

windows - 使用 Outlooks COM 类组件仅在管理员权限下失败

excel - 如何调试 COM C++ 进程外服务器? (客户端: Excel vba)

c - 线程参数打印垃圾值

c - Visual C++ 2008 Express 的 C 编译器在磁盘上的什么位置?

c++ - 使用 RasDial 建立 VPN 连接后,是否要防止网络定位向导弹出?

c# - DirectShow 将 sampleGrabber 转换为 ISampleGrabber