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了