windows-10 - 如何在 Windows 10 的 VB6 上编译 Winsock Control 6.0?
问题描述
尝试在 Windows 10 上的“Winsock Control”组件中进行编译时,出现以下错误:
mswinsck.ocx 无法加载
值得注意的是,我已经安装了 VB6 SP6,使用 SP6,它在 Windows 8.1 和 Windows 7 上运行良好,但在 Windows 10 上无法编译。
另外值得注意的是,.exe
从 Win7/8 编译的已编译的ws2_32.dll
. 只是编译步骤在Win10上不起作用。
运行 Dependency Walker,depends.exe
建议mswinsck.ocx
无法加载,因为它依赖于API-MS-WIN-CORE-SYNCH-L1-2-0.DLL
andAPI-MS-WIN-CORE-PROFILE-L1-1-0.DLL
和API-MS-WIN-CORE-PROCESSTHREADS-L1-1-0.DLL
一堆具有相似名称的其他 DLL(我认为这些 DLL 与 SysWOW64 有关),无法找到:
有谁知道如何在Win10的VB6中编译“Winsock Control”?
(另外值得注意的是,似乎 MSFlexGrid 组件在 Win10 上以类似的方式不可编译,但这个问题是关于 WinSock 控件,而不是 MSFlexGrid)。
编辑:附加信息:我已经安装了“VB6 Service Pack 6”,VB 版本是“版本 9782 VBA 零售 6.0.9782”,mswinsck.ocx
文件本身的版本是6.1.97.82
(感谢评论,我知道存在一个更新的版本:6.1.98.16
)
解决方案
我经常在 Windows 10 机器上遇到这个问题,并通过使用提升的命令提示符取消注册和重新注册每个 OCX 来解决它:
- 通过右键单击它并选择“以管理员身份运行”,从“开始”菜单打开命令提示符窗口。重要的是您的命令提示符窗口标题为“管理员:命令提示符”。
- 通过键入转到 SysWOW64 文件夹
cd \Windows\SysWOW64
- 通过键入取消注册 OCX
regsvr32 -u mswinsck.ocx
- 通过键入重新注册 OCX
regsvr32 mswinsck.ocx
这通常可以解决问题。
如果您使用 Visual Studio Installer 1.1 部署应用程序,您在部署到的 Windows 10 系统上可能会遇到同样的问题。安装程序似乎没有正确注册文件。如果您使用 Visual Studio 2019 和 Setup 扩展,根据我的经验,这将构建一个正确注册 OCX 的安装程序。
推荐阅读
- javascript - webNavigation api完全坏了吗?
- javascript - 在 AWS 服务器中启动网站时 CSS 和 JavaScript 失败
- git - 远程拒绝错误 wen 通过 GitHub 部署到 heroku
- python - 如何解决“标识符中的无效字符”?
- javascript - 如果 day == 6,则 Datepicker javascript 禁用选项
- python - 我是否应该每次在 Python 类中使用变量的“自我”版本
- r - 如何在数据框列中找到前 5 个值?
- swift - Swift中的字符串到整数(atoi)最大整数问题
- angular - 在没有显式订阅的情况下检索可观察值
- amazon-web-services - 使用带有搬运工推/拉图像的 AWS ECR 不起作用