如何使用COM

MITSMI 2006-05-29 09:58:14
目前我手头只有有一个DLL,在VC的Object Viewer中可以看到所有的方法。
但是不知道怎样使用此COM

能不能给点提示?如果有例子就更好了
...全文
122 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
MLiang 2006-05-29
  • 打赏
  • 举报
回复
#include "stdafx.h"
#include <iostream>
using namespace std;

#import "ATLSimple.dll" no_namespace
#include <atlbase.h>

int _tmain(int argc, _TCHAR* argv[])
{
::CoInitialize(NULL);

CComPtr<IAddData> spAddData;
HRESULT hr = spAddData.CoCreateInstance(__uuidof(AddData));
if ( FAILED(hr) )
{
cout << "接口创建失败!"<<endl;
return -1;
}

BSTR bstr = ::SysAllocString(L"aaaa");

spAddData->AddDatas(bstr);

::SysFreeString(bstr1);

spAddData.Release();
::CoUninitialize();
return 0;
}

注:1。ATLSimple.dll是你的组件(别忘了copy到你的当前工程下一个)
2。IAddData是ATLSimple一个接口,用ATL的CComPtr智能指针包一下然后使用,比较方便
3。AddDatas是IAddData的一个方法。
MITSMI 2006-05-29
  • 打赏
  • 举报
回复
确认是COM
CLSID已经拿到,但是不知道怎么调用里面的方法,能不能给点提示?
没有用过COM啊,多谢了
boluoCTO 2006-05-29
  • 打赏
  • 举报
回复
你确认这是个COM组件而不是普通DLL?先regsvr32这个DLL,然后在注册表里面找到CLSID,然后CoCreateInstance(CLSID).

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧