上下文:经过一些代码修改后,我的 BHO 不再适用于 IE7。
问题:我在 IHTMLElement5 的 IHTMLElement 上使用 QueryInterface,结果为 0x80004002(不支持此类接口)。
我提醒说,前段时间,关于脚本对象接口 (MSHTML)的 MSDN 文档会指出哪个版本的 IE 支持每个接口。情况不再如此。IHTMLElement5文档说“带有 SP2 的 Windows XP”......我认为这是错误的,但无论如何,现在我的问题是:
如果我想支持 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 时不能使构建失败?