我可以编辑具有 x64 ActiveX 控件的 MFC 对话框吗?
Posted
技术标签:
【中文标题】我可以编辑具有 x64 ActiveX 控件的 MFC 对话框吗?【英文标题】:Can I edit a MFC dialog that has an x64 ActiveX control? 【发布时间】:2019-06-21 15:11:02 【问题描述】:我在设置为 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 对话框。有什么想法吗? 为什么不能同时存在? 【参考方案1】:我不知道可以为 x32 和 x64 注册 .dll。我现在使用标准的 RegSvr32 命令。
我们通常在两者之间切换,但这不适用于 Visual Studio。
【讨论】:
以上是关于我可以编辑具有 x64 ActiveX 控件的 MFC 对话框吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 MFC 以编程方式更改 ActiveX 控件的属性?