16,549
社区成员




我想在我的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\CLSID
HKEY_CLASSES_ROOT\TypeLib
Build -> Clean Solution
然后 Build -> Rebuild Solution
)。regsvr32 /u "C:\\PathToYourControl.ocx"
regsvr32
注册控件。