我试图在我的Windows 10计算机上编辑其他开发人员的一些旧源代码。这个特殊的项目需要使用VsFlex7控件(vsflex7L.ocx和vsflex7L.oca),它需要在Windows中注册才能在vb6中使用该控件。
然后我检查vb6项目文件源并看到这显示我首先遇到问题的控件(VSFlexGrid)的CLSID为Object={C0A63B80-4B21-11D3-BD95-D426EF2C7949}#1.0#0; vsflex7l.ocx
...
然后我尝试运行命令提示符(作为管理员)并执行以下操作...
C:\Windows\SysWOW64>regsvr32 Vsflex7L.oca /u
C:\Windows\SysWOW64>regsvr32 Vsflex7L.oca
问题是,当我尝试C:\Windows\SysWOW64>regsvr32 Vsflex7L.oca /u
时,regsvr32会以光速运行大约一百万次并使我的电脑陷入困境,直至我必须按电源按钮重新启动电脑。运行命令后尝试取消注册oca我的机器没用。我甚至无法在任务管理器中杀死任务,因为一次又一次地运行了这么多副本!!
我有什么想法可以让这个控件注册,所以我可以修复我的源码中的这个小小的bug?
谢谢!
更新
感谢对原始问题的评论,我现在已经注意到我应该尝试在注册表中追踪CLSID 2C4CDB4E-6162-11D3-BD96-B76E8682527F
。但是,这个我找不到......我应该加一下吗?如果是这样,它应指向什么dll或ocx?
答案 0 :(得分:1)
好的,多亏了我的问题中的所有评论,我最终得到了正确的解决方案!所以你们所有的贡献,特别是MarkL!
追踪下面两个dll是第一步,重要的是要注意你需要正确的版本!我最初下载了一个中文版,它用不同的语言显示我的所有控件。我最终发现这些是我在网站上对CLSID进行的一些研究所需要的。在这种情况下,它与VideoSoft的VSFlexGrid控件都有关。
然后我去了virustotal网站并上传两个进行检查,以确保它们干净利落,并且没有任何病毒。
接下来,我最终将它们扔进我的C:\Windows\SysWow64
文件夹(因为它们都是OLD x86相关文件)。
最后我最终运行了四个命令......
regsvr32 Vsppg7.dll /u
regsvr32 Vsppg7.dll
regsvr32 vsStr7.ocx /u
regsvr32 vsStr7.ocx
一旦我这样做,我打开了VB6和有问题的项目,然后单击控件并尝试单击FormatString
属性。这一次而不是错误,我得到了一个很好的GUI,让我可以改变一切!
希望这有助于其他人,即使这一切都很古老!