如何手动设置VB6 Activex控件的GUID

如何手动设置VB6 Activex控件的GUID,vb6,activex,Vb6,Activex,最近我们遇到了一个问题,我们必须修改一个很久以前开发的ActiveX控件。问题是,我们丢失了源代码,但找到了具有不同GUID的同一控件的另一个版本 要求是在其他产品使用相同控件时保留旧GUID。因此,我们希望用旧控件GUID替换新控件GUID 可能吗?如果是这样,请告诉我如何在VB6中更改Active X控件的GUID。您不需要手动将接口和类GUID放入应用程序中,但在项目设置中,您需要启用“二进制兼容性”,指向具有希望项目使用的接口和类GUID的DLL 从Visual Basic 6.0项目文

最近我们遇到了一个问题,我们必须修改一个很久以前开发的ActiveX控件。问题是,我们丢失了源代码,但找到了具有不同GUID的同一控件的另一个版本

要求是在其他产品使用相同控件时保留旧GUID。因此,我们希望用旧控件GUID替换新控件GUID


可能吗?如果是这样,请告诉我如何在VB6中更改Active X控件的GUID。

您不需要手动将接口和类GUID放入应用程序中,但在项目设置中,您需要启用“二进制兼容性”,指向具有希望项目使用的接口和类GUID的DLL

从Visual Basic 6.0项目文档组件工具指南中,“:

指定零部件类型库的引用版本的步骤

  • 打开项目

  • 项目菜单中,选择项目属性打开项目属性对话框,然后选择组件选项卡

  • 单击二进制兼容性锁定项目中的类ID。
    注意如“项目兼容性:避免缺少引用”中所述,项目兼容性设置实际上与版本兼容性功能无关

  • 使用组件最新版本的完整路径和名称更新版本兼容性框架底部的框
  • 无论何时从组件项目生成新的可执行文件,VisualBasic都会将类的新接口与指定文件中描述的接口进行比较。Visual Basic根据接口之间的兼容性级别更新类型库版本号


    有关详细信息,请务必阅读文档“”部分的所有部分。

    如果您正在修改DLL/OCX的源代码,并且这些修改不会更改现有接口,并且如果您有当前DLL/OCX的副本,则只需选择“二进制兼容性”在项目属性中,将其指向现有的二进制文件,VB6将为您处理其余部分。谢谢Alex。它起作用了。。