首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从C++向COM公开带有IHTMLDocument*类型参数的方法?

如何从C++向COM公开带有IHTMLDocument*类型参数的方法?
EN

Stack Overflow用户
提问于 2012-02-24 19:11:22
回答 1查看 650关注 0票数 0

我有一个C++库(Win32),它填充了网页中的一些字段,我想从.NET ( IE工具栏)中使用这些字段,但我不知道如何通过COM公开该方法。我已经知道应该将它添加到.idl文件的接口中,如下所示:

代码语言:javascript
复制
interface IPlugin : IDispatch{
    #include <mshtml.h> 
    HRESULT FillFields(IHTMLDocument2* pDocument, BSTR value1, BSTR  value2);
};

但是mshtml.h的#include给出了以下错误:

代码语言:javascript
复制
error MIDL2003: redefinition : _LARGE_INTEGER
error MIDL2003: redefinition : _ULARGE_INTEGER
error MIDL2003: redefinition : INT
error MIDL2003: redefinition : Int64ShllMod32

有没有什么方法可以将IHTMLDocument对象从C#传递给C++,然后在C++中修改它的内容,或者COM应该只用于自动化的类型,比如BSTR?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-24 19:35:17

您可以使用#importIHTMLDocument2的IDL定义放入MIDL中的作用域。

MIDL编译器将为您生成#include。MIDL文件中的显式#include仅在极少数情况下有用。

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

https://stackoverflow.com/questions/9429749

复制
相关文章

相似问题

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