MFC调用atl简单对象

#import "../comTest/Debug/comTest.tlb"
using namespace comTestLib;
void CcallComDlg::OnBnClickedButton1()
{

	CoInitialize(NULL);

	//
	//方法1
	CLSID clsid;
	HRESULT hr = CLSIDFromProgID(OLESTR("comTest.helloCom"),&clsid);
	if (hr == S_OK)
	{
		IhelloCom *prt;
		hr = CoCreateInstance(clsid,NULL,CLSCTX_INPROC_SERVER,__uuidof(IhelloCom),(LPVOID*)&prt);//记得release
		if (hr == S_OK)
		{
			prt->func(0);
			prt->get_description(NULL,NULL);
			prt->put_description(NULL,NULL);
			
		}		
		prt->Release();

	}

	
	//

	//方法2
	CLSID clsid1;
	HRESULT hr1 = CLSIDFromProgID(OLESTR("comTest.helloCom"),&clsid1);
	if (hr1 == S_OK)
	{
		CComPtr<IhelloCom>  comPrt;
		comPrt.CoCreateInstance(clsid1);

		comPrt->func(0);
		comPrt->get_description(NULL,NULL);
		comPrt->put_description(NULL,NULL);

	}

	//

	CoUninitialize();
}


atl简单控件创建:
(1)vs创建ATL项目

(2)右击项目-添加-类-ATL简单对象

(3)下一步,文件命名

(4)下一步,线程模型选择单元或两者,接口选择双重,聚合选择是,支持选择连接点。。点击完成

(5)在类视图内,右击IXXXX(XXXX为刚才创建的ATL简单对象),选择添加方法-----添加一个接口方法,设置方法名和参数

(6)在类视图内,右击IXXXX(XXXX为刚才创建的ATL简单对象),选择添加属性----- 设置属性名和类型,以及操作属性的get方法和put方法、


然后就可以根据上面的代码在MFC工程中调用了。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值