实现步骤具体如下:
1、保证com组件注册成功;
2、#import "对应的com组件DLL"
using namespace 命名空间; 或者 no_namesapace;
3、从注册表中找到对应的CLSID
CLSID clsid;
HRESULT hr = CLSIDFromProgID(OLESTR("注册表中对应com组件实现类"), &clsid); //成功返回s_ok
4、通过CLSID创建接口类指针对象
hr = CoCreateInstance(clsidr, NULL, CLSCTX_INPROC_SERVER,
__uuidof(这里填写对应的接口类名), (LPVOID*)&这里填写对应的接口类的指针对象);
5、最后通过指针对象调用具体接口
实例:
#import "JetsonRfSrd.dll"
using namespace JETSONRFSRDLib;
CLSID clsidr;
IRFRead *ptrRF;
HRESULT hr = CLSIDFromProgID(OLESTR("JetsonRFSrd.RFRead"), &clsidr);
if (hr != S_OK)
{
AfxMessageBox("未找到CLSID,检测注册表中名称是否正确否者是否注册已成功");
}
hr = CoCreateInstance(clsidr, NULL, CLSCTX_INPROC_SERVER,
__uuidof(IRFRead), (LPVOID*)&ptrRF);
if (hr != S_OK)
{
AfxMessageBox("创建接口对象失败");
}
//通过对象调用具体的接口
ptrRF->Beep();
例子完。