OCX控件ID对应关系的梳理

16 篇文章 0 订阅

OCX的GUID对应关系梳理

1.     注册表中的GUID

{E0307BD0-8F81-4215-B33F-C468DDBF5C7C}

2.     OCX项目中的GUID

1)    xxxx.odl文件中:

      [uuid(E0307BD0-8F81-4215-B33F-C468DDBF5C7C),

       helpstring("ResOcxTest2 Control"), control ]

      coclass ResOcxTest2

      {

           [default] dispinterface_DResOcxTest2;

           [default, source] dispinterface_DResOcxTest2Events;

      };

2)    xxxctl.cpp文件中:

      IMPLEMENT_OLECREATE_EX(CResOcxTest2Ctrl,"RESOCXTEST2.ResOcxTest2Ctrl.1",

      0xe0307bd0, 0x8f81, 0x4215, 0xb3, 0x3f,0xc4, 0x68, 0xdd, 0xbf, 0x5c, 0x7c)

3.     与使用它的项目中的(如:对话框)自己生成的类GUID对应

      CLSID const& GetClsid()

      {

           static CLSID const clsid

                 = { 0xe0307bd0, 0x8f81, 0x4215,{ 0xb3, 0x3f, 0xc4, 0x68, 0xdd, 0xbf, 0x5c, 0x7c } };

           return clsid;

      }

4.     由上得出:OCX控件修改ID的方法  

vc++项目中替换两个地方:xxxx.odl文件和xxxctl.cpp文件

1)    xxxx.odl文件中:

      [uuid(E0307BD0-8F81-4215-B33F-C468DDBF5C7C),

       helpstring("ResOcxTest2 Control"), control ]

      coclass ResOcxTest2

      {

           [default] dispinterface_DResOcxTest2;

           [default, source] dispinterface_DResOcxTest2Events;

      };

2)    xxxctl.cpp文件中:

      IMPLEMENT_OLECREATE_EX(CResOcxTest2Ctrl,"RESOCXTEST2.ResOcxTest2Ctrl.1",

      0xe0307bd0, 0x8f81, 0x4215, 0xb3, 0x3f,0xc4, 0x68, 0xdd, 0xbf, 0x5c, 0x7c)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值