Windows 10上的VB6通用控件

Windows 10上的VB6通用控件,vb6,windows-10,Vb6,Windows 10,我最近从Windows7安装了Windows10。 我现在遇到了一个问题,microsoft Common Controls mscomctl不存在 我已在sysWow64/Regsvr32.exe中注册了“MSCOMCTL.OCX”文件 但是当我重新加载项目时,它仍然找不到引用 我还向System32注册了.ocx。这是windows 10的问题还是我遗漏了什么?答案是我必须进入项目内部,单击projoect,然后单击components并勾选Microsoft Common Contro

我最近从Windows7安装了Windows10。 我现在遇到了一个问题,microsoft Common Controls mscomctl不存在

我已在sysWow64/Regsvr32.exe中注册了“MSCOMCTL.OCX”文件

但是当我重新加载项目时,它仍然找不到引用


我还向System32注册了.ocx。这是windows 10的问题还是我遗漏了什么?

答案是我必须进入项目内部,单击projoect,然后单击components并勾选Microsoft Common Control。单击“应用”并使用保存重新启动项目

如果您没有注册表,它将禁用它,并且在完成.ocx文件上的注册表后,您必须重新启用它


此错误最可能的原因是您的项目正在寻找比Visual Basic 6(使用Visual Studio 6 Service Pack 6)安装的MSCOMCTL.OCX更新的版本

通过在文本编辑器中打开.vbp项目文件,可以验证项目所需的typelib版本。找一条像这样的线:

Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}2.2}0;MSCOMCTL.OCX

中间的<代码> 2.2 指的是需要的类型化版本。如果重新添加组件引用,然后保存项目,则可以返回.VBP文件,查看计算机上当前安装的typelib版本。(这可能是2.0版)

要获取最新的typelib版本(2.2),请执行以下操作:

  • 如果尚未安装,请安装
  • 安装2016年1月版的
    这将为您提供MSCOMCTL.OCX的6.1.98.46版。

    我注意到,Josh,您的错误消息指的是mscom32.OCX,而不是MSCOMCTL.OCX。那是微软通讯控制中心。这可能是您问题的真正根源吗?Windows 10的劣质版本会破坏组件注册,这似乎很奇怪,但如果假定只有Trident再使用这些OCX,那么它可能会追逐杀手锏。尽管如此,您可能还是希望干净地安装Windows 10(以及其他一切)。我想知道这些是否从未在Win7上正确安装,并且旧用户配置文件的VirtualStore中的注册已丢失。在我的系统上,windows 7版本高于windows 10!!!不匹配似乎需要删除并重新添加MSCOMCTL.OCX引用。