ATL该怎么调用MFC开发的ocx控件

迷路的指南针 迷路的指南针 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
本人手上原有一个用MFC写的视频采集OCX控件,现在手上项目要去给第三方做ODM,客户提出了采用ATL框架写一个网页插件,实现设备远程控制外还要视频图像实时显示。插件大小有限制导致无法采用MFC来写ODM插件,已经验证过了,大小放不下。
目前我这边的思路是,ATL采用CAxWindows来加载并显示控件。但是使用QueryControl来获取接口这块不知道如何入手。也就是我知道MFC下的接口定义,但是ATL下接口IUnknow接口定义是怎么样的格式要求?

RECT rc;
IWebBrowser2* iWebBrowser;
VARIANT varMyURL;
static CAxWindow WinContainer;
//LPOLESTR pszName=OLESTR("shell.Explorer.");
//LPOLESTR pszName=OLESTR("shell.Explorer.2");
LPOLESTR pszName=OLESTR("{8856F961-340A-11D0-A96B-00C04FD705A2}");
GetClientRect(hWnd, &rc);
WinContainer.Create(hWnd, rc, 0,WS_CHILD |WS_VISIBLE);
WinContainer.CreateControl(pszName);
WinContainer.QueryControl(__uuidof(IWebBrowser2),(void**)&iWebBrowser);
...

以上面代码为例,我该怎么导出我的接口(类似于上面代码中的IWebBrowser2)?如果是手动定义它有几个部分,哪个点是需要注意的?有没有哪位大佬指教一下。
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
迷路的指南针
ATL 3,248 成员 48,530 内容