我最近从Windows 7升级到了Windows 10。现在遇到了一个问题,就是缺少Microsoft Common Controls mscomctl。 我已经使用sysWow64/Regsvr32.exe注册了"MSCOMCTL.OCX"文件。 但是当我重新加载项目时,它仍然找不到引用。我还将.ocx文件注册到了System32中。这是Windows 10的问题还是我漏掉了什么?
这个错误最有可能的原因是您的项目正在寻找比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 是所需的typelib版本。如果重新添加组件引用并保存项目,则可以返回到.VBP文件并查看当前安装在计算机上的typelib版本(可能是2.0版本)。要获取最新的typelib版本(2.2): 如果您还没有安装,请安装Visual Studio 6 Service Pack 6。 安装Microsoft Visual Basic 6.0 Service Pack 6 Security Rollup Update的2016年1月版。 这将为您提供MSCOMCTL.OCX的6.1.98.46版本。
答案是我需要进入项目,点击项目,然后组件并勾选Microsoft Common Controls。点击应用并保存后重新启动项目。没意识到如果没有注册表会禁用它,在完成.ocx文件的注册表后,您需要重新启用它。