16,551
社区成员
发帖
与我相关
我的任务
分享我想在我的MFC工程中使用ActiveX控件,下了好几个控件都使用regsvr32注册成功,而且加载到了工具箱中,但拖放这些控件到对话框框体时都同样提示“未在此计算机上注册”。求助各位大佬,我该怎么操作才能作用这些控件?
VC++2022;Win10

在你的 MFC 工程中遇到的这种问题,通常和以下几个方面有关。尽管你已经通过 regsvr32 注册了控件,但在 MFC 工程中使用时仍然提示“未在此计算机上注册”,可能的原因及解决方案如下:
regsvr32 命令。C:\Windows\SysWow64\regsvr32)。C:\Windows\System32\regsvr32)。但如果拖放后出现“未在此计算机上注册”的提示,可能是以下几个问题:
控件未在 MFC 项目中正确引用:
确保你在 MFC 工程的资源视图中,右键点击“控件”,选择“添加 ActiveX 控件”,然后从中选择已经注册的控件进行添加。
确保在 MFC 中正确地使用 #import 语句来引用控件的类型库。例如:
#import "C:\\PathToYourControl.ocx" no_namespace
不匹配的位数:
你可以在 Visual Studio 中检查项目的位数设置(Project Properties -> Configuration Manager)并调整。
regedit,然后查找你注册的控件。通常注册的 ActiveX 控件会出现在以下路径下:HKEY_CLASSES_ROOT\CLSIDHKEY_CLASSES_ROOT\TypeLibBuild -> Clean Solution 然后 Build -> Rebuild Solution)。regsvr32 /u "C:\\PathToYourControl.ocx"
regsvr32 注册控件。