在WIN11的环境下,用VS2022,如何引用一个32位的OCX制品?求各位帮忙,非常感谢
已使用过的验证方式如下
・OCX制品放到SysWOW64文件夹下可以注册上,但是VS工具箱添加引用时候报错
・OCX制品放到System32文件夹下无法注册成功
・都是使用管理员方式运行的,使用SysWOW64文件夹下和System32文件夹下的CMD都试验过,
CD命 令到文件夹目录下,再注册的方式也试验过。
用32位注册工具:Windows 64位系统提供了两种注册工具,分别是32位和64位。对于32位OCX文件,要用32位注册工具进行注册。这个工具在 C:\Windows\SysWOW64\regsvr32.exe
。
对于Visual Studio,尽管操作系统是64位的,但还是要确保你的项目配置在32位(x86)环境下运行,以便可以加载和使用32位OCX组件。在项目属性中,找到“生成”选项卡,然后将“目标平台”设置为x86。如果没有x86选项,可以新建一个。
如果这些还是不能解决问题,可能要检查OCX文件是否有依赖项缺失,使用如 Dependency Walker 这样的工具可以帮助检查。如果有依赖项缺失,要找到并安装它们。
最后,如果所有方法都无效,可能是OCX组件与Windows 11或VS 2022不兼容。这种情况下,你可能要找到一个新版本的OCX组件,或者联系组件的供应商以获取帮助。
应该是64位vs2022不支持32位ocx组件的原因导致无法创建,寻找64位ocx组件使用。如果是第三方 没有64位,建议使用vs2019开发编译32位程序。
借鉴ChatGPT回答:
在Win11上使用VS2022引用32位OCX组件,需要进行以下设置:
cd C:\Windows\SysWOW64
regsvr32 mycontrol.ocx
regsvr32 /u OCX文件名 // 注销组件
regsvr32 /i:user OCX文件名 // 重新注册,并更改时间戳
在Windows 11下,如果您想在VS2022中使用一个32位的OCX制品,您需要进行以下步骤:
将OCX制品放置在SysWOW64文件夹下,并使用管理员权限运行命令提示符窗口。
使用CD命令切换到SysWOW64文件夹,然后运行以下命令注册OCX制品:
regsvr32.exe myocx.ocx
请将“myocx.ocx”替换为您实际的OCX文件名。如果注册成功,您应该会看到一个弹出窗口,显示“DllRegisterServer在myocx.ocx中成功注册”。
在VS2022中,打开您的项目,并在“工具箱”窗口右键单击,选择“选择工具箱项”菜单。
在“选择工具箱项”对话框中,单击“浏览”按钮,并导航到SysWOW64文件夹中的OCX制品。
选择OCX制品并单击“确定”按钮,将其添加到工具箱中。
现在,您应该能够在VS2022中使用该OCX制品了。如果您在添加工具箱项时遇到错误,请确保您已按照上述步骤正确注册了OCX制品,并且以管理员身份运行了VS2022。
报错截图呢
可以借鉴下
https://www.keil345.com/keil/269424.html
用64位的OCX制品试试,可能是位数不匹配的原因