将 HTML 渲染到窗口是不是需要 CLSID_WebBrowser,或者只需要 CLSID_HTMLDocument?

Posted

技术标签:

【中文标题】将 HTML 渲染到窗口是不是需要 CLSID_WebBrowser,或者只需要 CLSID_HTMLDocument?【英文标题】:Does rendering HTML to a window require CLSID_WebBrowser, or just CLSID_HTMLDocument?将 HTML 渲染到窗口是否需要 CLSID_WebBrowser,或者只需要 CLSID_HTMLDocument? 【发布时间】:2021-10-06 06:32:43 【问题描述】:

我很抱歉,但我有点困惑。我想知道将 html 字符串呈现为 HWND 的最简单方法是什么。这个question/answer 表明您只需要CLSID_HTMLDocument。但这足以渲染吗?我原以为要渲染,您还需要CLSID_WebBrowser。非常感谢任何澄清。

【问题讨论】:

【参考方案1】:

这两种方式都可以,这取决于您的客户端实现了多少 OLE/ActiveX。

我个人更喜欢使用 CLSID_HTMLDocument,然后根据需要请求窗口,但我正在实现 OLE 支持而不是依赖现有框架,因此您的里程可能会有所不同。我怀疑使用现有的非常完整的框架,CLSID_WebBrowser 路由可能会更容易。

【讨论】:

谢谢。您能解释一下如何从 CLSID_HTMLDocument 获取窗口吗? 获取ParentWindow属性(使用c++时调用get_ParentWindow)

以上是关于将 HTML 渲染到窗口是不是需要 CLSID_WebBrowser,或者只需要 CLSID_HTMLDocument?的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL:如何设置 OpenGL 只渲染到 FBO,不输出到屏幕/窗口/控件?

将 webbrowser 控件渲染到屏幕外(或隐藏)

DirectX11 2 窗口渲染

我是不是需要将渲染缓冲区附加到已经附加了纹理的帧缓冲区?

渲染到窗口帧缓冲区和 FBO 以保存全尺寸纹理图像

vue 监听窗口变化对页面部分元素重新渲染