【发布时间】:2021-12-29 06:24:34
【问题描述】:
我有一组 32 位的 ocx 文件。 我正在将我的应用程序迁移到 64 位,我需要将所有这些 ocx 转换为 64 位。
我了解我无法将 32 位 ocxin 加载到 64 位进程。 我没有源代码。 有没有什么方法可以在没有源代码的情况下将 32 位 ocx 转换为 64 位? 我有哪些选择?
【问题讨论】:
-
不多。取得成功的唯一可能方法是将 DLL 托管在 32 位代理中。它现在在进程外运行,COM 管道负责将 64 位客户端调用转换为 32 位服务器调用。然而,这需要为服务器注册 32 位和 64 位代码的代理和存根。除了获取 64 位代理的麻烦之外,.ocx 通常根本没有它们,因为它们本来是在 UI 中使用的。查看 .ocx 实现的接口之一的 HKLM/Software/Wow6432Node/Classes/Interface 键,看看您是否有任何机会。
标签: windows dll 32bit-64bit openedge ocx