cplusplus

串口控件动态创建出现的问题

上一篇 / 下一篇  2012-01-17 16:33:03 / 个人分类:VC

首先检查一下你的控件在你所注册安装的机器上是不是真正的注册了,序列号之类的问题。

另外用Depends查看一下是不是MSComm控件还依赖其他的DLL或MFC类库,
至少我下载了一个MSComm控件,用ViewDLL查看,可以看到里面有一个oleaut32.dll
跟它同名的lib OLEAUT32.LIB在C:\Program Files\Microsoft Visual Studio\VC98\Lib这个文件夹下.
是不是这说明一定的问题啊? 请楼主自行验证。

应该是控件在新的电脑上没有license,regsvr32能注册成功,但是创建实例时MsComm控件检查没有license会返回失败。

最好用GetLastError看看到底为什么失败。

应该是控件在新的电脑上没有license,regsvr32能注册成功,但是创建实例时MsComm控件检查没有license会返回失败。

最好用GetLastError看看到底为什么失败。

  第一步:将Mscomm.srg, Mscomm32.ocx,Mscomm32.dep三个文件复制到系统文件夹中。要注意的是,MSComm控件是要授权的,所以必须将其使用“执照”Licence 在注册表中登记注册,下一步就是注册方法。
  第二步:用Windows下的注册工具regsvr32注册该OCX控件,点击“开始”->"运行",再在中填入(假设操作安装在C盘,WIN2000): 
Regsvr32 C:\winnt\system32\Mscomm32.ocx 
 第三步:在注册表中手工新建一个主键项:先在点击“开始”->"运行",再在中填入regedit命令打开注册表,找到HKEY_CLASSES_ROOT\Licenses,在其中添加主键 
4250E830-6AC2-11cf-8ADB-00AA00C00905 并将内容设置为: 
       kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun 

创建的时候,与串口存不存在没有任何关系,不要听别人瞎说!
可以肯定的是没有License!

在没有License的情况下,可以表态创建控件,就是在资源里面添加控件这种方法,而不能动态创建控件,动态创建控件必须要License,MSCOMM控件的License通过下面的方法创建:
在HKEY_CLASSES_ROOT\Licenses\下创建如下项(如果没有的话)
4250E830-6AC2-11cf-8ADB-00AA00C00905
再在4250E830-6AC2-11cf-8ADB-00AA00C00905下面添加一个默认的字符串,值为:
kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun


TAG: MSCOMM动态创建

 

评分:0

我来说两句

Open Toolbar