编写面向 IE7 的 BHO
Coding a BHO targeting IE7
上下文:经过一些代码修改后,我的BHO不再适用于IE7。
问题:我在IHTMLElement上使用QueryInterface,结果是0x80004002(不支持这样的接口)。
我记得前段时间,关于脚本对象接口(MSHTML)的MSDN文档会指出哪个版本的IE支持每个接口。现在情况已经不同了。IHTMLElement5 文档说"Windows XP with SP2"...我认为这是错误的,但无论如何,现在回答我的问题:
如果我想支持 IE7 并使用 IHTMLElement5,如何使我的 Visual Studio 2010 C++ 构建失败?
我用google和SO搜索了这个主题,发现有一个 #define,_WIN32_IE可用于针对最小的特定IE版本。我的问题是它不会改变任何东西,当我将宏设置为_WIN32_IE_IE70时,一切都可以正常编译
我在(在 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\mshtml.h 中搜索了字符串"_WIN32_IE",但没有找到匹配项。这是否意味着在将宏设置为 _WIN32_IE_IE70 并在代码中使用 IHTMLElement5 时不能使构建失败?
IE 7 不支持 IHTMLElement5。 它仅在 IE 8 上受支持。 XP 支持 IE 8,因此文档是正确的。
不幸的是,_WIN32_IE不再非常有用;当Windows和IE更紧密地绑定时,它有点用,但实际上任何> _WIN32_IE_60都会公开所有将要暴露的API。
相关文章:
- 在BHO(IE9)中从未提出的Domcontentload
- (IE BHO)从BeforeNavigate2事件获取IWebBrowser2
- 如何在 Windows11(x7) 上使用 EPM 一次将 64 个浏览器帮助程序对象 dll 注册到 IE7 中
- 编写面向 IE7 的 BHO
- BHO 在每个页面上执行 JavaScript
- 从 BHO 向 CAxWindow 上的 JS 公开方法(C++ )
- BHO和IE浏览器 11.
- 如何启动 BHO(浏览器助手对象)编程
- IE9无法在BHO中的HTMLWindow2上启动onscroll事件
- 使用 approveextensionmigration 实现自动bho功能的安全性
- 解码编码的俄罗斯字符从url到实际字符在BHO
- atlcom是开发IE7或以上版本插件/扩展的唯一途径
- Internet Explorer BHO,写入注册表和管理权限
- IE BHO为每个标签加载两次
- 从IE工具栏按钮调用BHO
- BHO不能更改注册表值
- Internet Explorer是否为BHO提供了通过HTTP下载文件的功能
- C++BHO(IE插件)问题
- BHO HtmlEventObject crashes
- 为什么在BHO中CreateDialog失败,错误码为5