Chinaunix首页 | 论坛 | 博客
  • 博客访问: 735136
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:39:21

        一次在VS 2005编的一个程序上无法使用MSHFLXGD.OCX控件(具体症状是当要使用该控件时出现程序崩溃)。开始以为MSHFLXGD.OCX控件没有注册,使用regsvr32进行注册,但是注册成功后依然无法使用。于是上网搜索资料,大致知道了原因:原来是微软的OCX控件大多需要许可证,有了分发许可证的控件才可以正常运行。

        按照网上的说法是:mshflxgd.dep 和mshflxgd.srg 都编译到windows\system32目录下(这两个文件可以在安装过VC的系统下找到),然后还要导入一个注册表项目

        [HKEY_CLASSES_ROOT\Licenses\1F3D5522-3F42-11d1-B2FA-00A0C908FB55]

        @="gcfjdjecpchcncdjpdejijgcrdoijjfcieod"

        当时我不知道如何导入一个注册表项目,就采用一个苯办法:安装VC6.0(只要安装了VC 6.0都能使用)。现在我知道了,就是可以用该控件的机子的注册表的HKEY_CLASSES_ROOT\Licenses项导出为一个reg文件,然后将其拷贝到要用控件的机子上进行授权(具体是双击该reg文件将其加入到注册表),这样估计就能用了。我甚至怀疑“将mshflxgd.dep 和mshflxgd.srg 都编译到windows\system32目录下”这一步是否有作用。照我的设想:首先是使用regsvr32进行注册,然后使用reg文件将其加入到注册表。不过我没有试过,有兴趣的朋友可以试一下。

        看来使用了OCX控件的程序在别的电脑上不能运行,如果既不是缺ocx文件,也不是因为控件没有注册,那么就有可能是缺少许可证引起的,可以用类似的手法解决。

【责编:michael】

--------------------next---------------------

阅读(414) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~