han*_*rik 2 vb6 winsock windows-10
尝试在 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.exesuggestmswinsck.ocx无法加载,因为它依赖于API-MS-WIN-CORE-SYNCH-L1-2-0.DLL和API-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 来解决它:
cd \Windows\SysWOW64regsvr32 -u mswinsck.ocxregsvr32 mswinsck.ocx这通常可以解决问题。
如果您使用 Visual Studio 安装程序 1.1 来部署应用程序,您可能会在部署到的 Windows 10 系统上遇到同样的问题。安装程序似乎没有正确注册文件。根据我的经验,如果您使用 Visual Studio 2019 和安装扩展,这将构建一个正确注册 OCX 的安装程序。