C++调用ocx

1、保证ocx已正常注册,可以使用

2、创建一个C++的命令行程序,在主程序
#import "HZ_KevinTest.ocx" no_namespace

生成一次程序,debug目录下就会有类似的两个文件
HZ_KevinTest.tlh
HZ_KevinTest.tli

3.把这两个文件拷贝到源代码的位置,将第一个文件的扩展名修改为.h,调整主程序的代码,注释刚才的import语句,include刚才的.h文件,类似如下
//#import "HZ_KevinTest.ocx" no_namespace 
#include "HZ_KevinTest.h"
另外的HZ_KevinTest.tli相当于CPP文件,我自己测试的ocx生成的一个方法会带了产生异常代码,我自己手工调整tli里的代码,让其不异常。至此ocx已在代码的控制下了。

4.生成实例。因为import的时候使用了smart pointer,所以com的生成只需

IHZ_KevinTestPtr pMyocx(__uuidof(HZ_KevinTest));

好了,似乎还可以用。还好N年前买的一本书。刚才上网想找类似的书重新学习一下,发现Com+一类的书已成恐龙级别了。期待有人推荐一两本

以下是我自己测试的头部引入的内容

#include <iostream>
#include <windows.h>
#include <cassert>
#include <stdexcept>

#include <iostream>

//#import "HZ_MyTest.ocx" no_namespace
#include "HZ_KevinTest.h"
using namespace std;

 这里有更多的方式,自己也在学习中

https://blog.csdn.net/u011555996/article/details/76073157

可惜现在找不到新书来学习C++来开发Com了

posted @ 2019-01-25 21:34  生命体验之kevin-Y  阅读(2686)  评论(0编辑  收藏  举报