一次在VS 编的一个程序上无法使用MSHFLXGDOCX控件(具体症状是当要使用该控件时出现程序崩溃)开始以为MSHFLXGDOCX控件没有注册使用regsvr进行注册但是注册成功后依然无法使用于是上网搜索资料大致知道了原因原来是微软的OCX控件大多需要许可证有了分发许可证的控件才可以正常运行 按照网上的说法是mshflxgddep 和mshflxgdsrg 都编译到windowssystem目录下(这两个文件可以在安装过VC的Windows系统下找到)然后还要导入一个注册表项目 [HKEY_CLASSES_ROOTLicensesFDFdBFAACFB] @=gcfjdjecpchcncdjpdejijgcrdoijjfcieod 当时我不知道如何导入一个注册表项目就采用一个苯办法安装VC(只要安装了VC 都能使用)现在我知道了就是可以用该控件的机子的注册表的HKEY_CLASSES_ROOTLicenses项导出为一个reg文件然后将其拷贝到要用控件的机子上进行授权(具体是双击该reg文件将其加入到注册表)这样估计就能用了我甚至怀疑将mshflxgddep 和mshflxgdsrg 都编译到windowssystem目录下这一步是否有作用照我的设想首先是使用regsvr进行注册然后使用reg文件将其加入到注册表不过我没有试过有兴趣的朋友可以试一下 看来使用了OCX控件的程序在别的电脑上不能运行如果既不是缺ocx文件也不是因为控件没有注册那么就有可能是缺少许可证引起的可以用类似的手法解决 |