【发布时间】:2025-12-02 19:25:01
【问题描述】:
我在设置为 x64 的 MFC 项目中添加了一个 ActiveX 控件。所以我也必须将 ActiveX 注册到 x64。
现在的问题是,当我想在 Visual Studio 2017 中打开对话框时,我收到 ActiveX 未注册的错误。如果我将它注册到 x32,我可以打开它,但是我无法启动窗口。
我认为是因为VS运行在x32,但是没有x64版本。
一种解决方法是在我想打开对话框时将其注册为 x32,并在运行时注册回 x64,但这似乎很麻烦。
【问题讨论】:
-
为什么不能同时注册win32和x64?注册表中有 32 位和 64 位的单独键。我们一直在为 win32 和 x64 构建我们的东西。 32 位 CLSID 内容注册到 HKLM\Software\Wow6432Node\Classes\CLSID,而 64 位内容注册到 HKLM\Software\Classes\CLSID。
-
我不知道,谢谢。如果我们想将程序从一种设置切换到另一种设置,我们总是重新注册。
-
我现在可以使用它了。谢谢
-
@joseph-willcoxson 我们有同样的问题,如上所述。不幸的是,我们应用程序的架构使得 x64 和 win32 dll 不能同时共存。因此,我们只能在使用 win32 构建时编辑 MFC 对话框。有什么想法吗?
-
为什么不能同时存在?
标签: visual-studio mfc activex 32bit-64bit