首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么IHTMLDocument2不等于IHTMLDocument2.body.document?

为什么IHTMLDocument2不等于IHTMLDocument2.body.document?
EN

Stack Overflow用户
提问于 2011-07-20 13:54:07
回答 1查看 843关注 0票数 0

下面的doc2和doc22有什么不同?

代码语言:javascript
复制
IHTMLDocument2 doc2 = (pDisp as IWebBrowser2).Document as IHTMLDocument2;
IHTMLDocument2 doc22 = doc2.body.document as IHTMLDocument2;
bool isequal = Marshal.GetIUnknownForObject(doc2) == Marshal.GetIUnknownForObject(doc22);
//Here, isequal is false. Why?
EN

回答 1

Stack Overflow用户

发布于 2011-10-18 22:44:50

对我来说,最可能的解释是,不同的包装器对象是为相同的东西创建的。谁知道MSHTML是如何在内部管理它的。只要((pDisp as IWebBrowser2).Document as IHTMLDocument3).documentElement as IUnknown == (((pDisp as IWebBrowser2).Document as IHTMLDocument2).body.document as IHTMLDocument3).documentElement as IUnknown世界是井然有序的;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6757560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档