修改activeX控件的uuid

公司里的大部分工作都是在原来的基础上进行的,难免会复用公司以往积累的代码。在开发新的activeX控件时,如果直接建立新工程,然后一个个方法、事件挨个添加会比较麻烦,但又不能直接在原来的基础上更改。所以就要修改控件的uuid,与之前的控件区别开来。下面介绍一下自己的做法,不懂什么原理。(情况不同可能会产生不同的错误)。但应该是可行的,有待大家多试验验证。

首先,为防止微软狗逼他他妈绕,我们考虑将所有的id都进行替换,所以就不能只产生一个guid将某一个替换。我们可以选择建立一个ocx控件的工程,建完之后,就生成了我们所需要的所有的uuid。总共生成了一下5个(暂时不清楚他们之间是否有关系,渴望得到高手指点):


第一个比较重要也很特殊:(具体不知道是干什么的,求大牛指点啊)

1、在XXXXPropPage.cpp中有一个:

// 初始化类工厂和 guid
IMPLEMENT_OLECREATE_EX(Cocxuuidtest1PropPage, "OCXUUIDTEST1.ocxuuidtest1PropPage.1",
0x9630859b, 0x729b, 0x4952, 0x8a, 0x3c, 0xa9, 0x9b, 0xe4, 0x7d, 0xe3, 0xd6)

这一个在下面的注册函数里会用到,也就是调用regsvr32  XXX.ocx来向系统注册该ocx时会用到,在整个工程中就出现了一次,换上就行了。


其余还有四个,都出现在XXXX.idl中,但是不止出现在XXXX.idl中,在XXXXidl.h中,XXXX.cpp中,XXXX_i.c中(这个文件不知干嘛的)等等。不用管那么多,反正用全部搜索然后挨个替换就好。

2、[ uuid(4CEF3CC2-9DDD-4183-A691-80E9659DD5CE), version(1.0),
  helpfile("VideoPlayer.hlp"),
  helpstring("VideoPlayer ActiveX 控件模块"),
  control ]

3、 [ uuid(23E5AEF8-E535-4406-B461-19FF56EE129C),
        helpstring("VideoPlayer Control 的调度接口")]


3、 [ uuid(0C17E448-AEA8-47A2-90E8-924101FDFD76),
      helpstring("VideoPlayer Control 的事件接口") ]


4、 [ uuid(9592C6BA-E815-46EF-BB26-61B7E555DD73),
 helpstring("VideoPlayer Control"), control ]

将老项目中的的uuid,用新项目中对应的一一替换,只替换uuid,不要加进去工程名。注意形式,有0xXXXX的形式,搜索时只搜索每个uuid的前八位就好。


替换好之后,工程名字可以更改一下,更多的内容,大家再去探索,本人是初级菜鸟,做的不对的请大家不吝赐教。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值