描述:
[b]RegSvr32注册后
//定义的类
interface TestTeam : public IUnknown
{
public:
virtual void Create();
virtual void SetConnect();
virtual int Connect();
};
// 初始化Com
HRESULT hr=CoInitialize(NULL);
// 获取编号
hr = CLSIDFromProgID(L"HsCommX.Comm", &CLSID_Comm);
// 获取指针
HsTestTeam *pTestTeam = NULL;
hr = CoCreateInstance(CLSID_Comm,
NULL,
CLSCTX_INPROC_SERVER,
IID_IUnknown,
(LPVOID *)(&pTestTeam));
//然后怎么才能调用出Create();SetConnect();Connect();等函数
解决方案1:
给你一个我用VB写的COM在VC中调用的例子吧。
import进来后,会生成你调用com的tlh文件。
_COM_SMARTPTR_TYPEDEF(_cShow, __uuidof(_cShow));
然后在VC中就可以用下面的方法调用了
_cShowPtr PcShowForm;
hr = PcShowForm.CreateInstance(__uuidof(cShow));
if(!SUCCEEDED(hr))
{
AfxMessageBox("加载VBCOM控件失败!");
return;
}
PcShowForm->SLModifyPart(_bstr_t(strCode));
大概这样调用
ITestTeamPtr ptr;
ptr.createinstace();
ptr->funcname();