如何在VB6中获取对象的部件/文件版本?

如何在VB6中获取对象的部件/文件版本?,vb6,binding,version,Vb6,Binding,Version,有没有办法在VB6中获取对象的文件和/或部件版本 我们有一些参考问题,我能够在有问题的机器上创建后期绑定的对象,因此我希望能够说出它正在获取的版本,以确定该版本的位置。您可以尝试使用TypeLibInfo来获取一些信息 在VB6中,转到References和referenceTypeLib信息。然后创建一个对象,并在调试器中尝试检查各种属性。例如: Dim x As Object Set x = CreateObject("Excel.Application") x.Visible

有没有办法在VB6中获取对象的文件和/或部件版本


我们有一些参考问题,我能够在有问题的机器上创建后期绑定的对象,因此我希望能够说出它正在获取的版本,以确定该版本的位置。

您可以尝试使用TypeLibInfo来获取一些信息

在VB6中,转到References和reference
TypeLib信息
。然后创建一个对象,并在调试器中尝试检查各种属性。例如:

  Dim x As Object

  Set x = CreateObject("Excel.Application")
  x.Visible = True


  Dim ti As TLI.TLIApplication
  Set ti = New TLI.TLIApplication

  With ti.InterfaceInfoFromObject(x)
    MsgBox .Guid
  End With


  'Close Excel yourself if things went bad.

您可以尝试使用TypeLibInfo来获取一些信息

在VB6中,转到References和reference
TypeLib信息
。然后创建一个对象,并在调试器中尝试检查各种属性。例如:

  Dim x As Object

  Set x = CreateObject("Excel.Application")
  x.Visible = True


  Dim ti As TLI.TLIApplication
  Set ti = New TLI.TLIApplication

  With ti.InterfaceInfoFromObject(x)
    MsgBox .Guid
  End With


  'Close Excel yourself if things went bad.

听起来好像你可以使用有问题的机器

如果这是一个进程内对象(DLL或OCX),我可以建议您改用它吗

执行启动\运行并键入以运行Process Explorer。在进程列表中突出显示您的应用程序,切换到DLL视图,下面的窗格将显示进程加载的所有DLL和OCX的路径和版本号

如果它是进程外对象,我建议查看注册表以查看哪个程序注册为服务器

  • 首先使用查找CLSID。ProgID是可与CreateObject一起使用的可读字符串,例如
    Excel.Application
    。CLSID是一对花括号内的128位十六进制数字。查看注册表项
    HKEY\U LOCAL\U MACHINE\SOFTWARE\Classes\{ProgID}\CLSID

  • 查看
    HKEY\U LOCAL\U MACHINE\SOFTWARE\Classes\CLSID\{CLSID}\
    下面的条目,其中
    {CLSID}
    是对象的类id。此条目提供提供对象的exe的路径


  • 听起来好像你可以使用有问题的机器

    如果这是一个进程内对象(DLL或OCX),我可以建议您改用它吗

    执行启动\运行并键入以运行Process Explorer。在进程列表中突出显示您的应用程序,切换到DLL视图,下面的窗格将显示进程加载的所有DLL和OCX的路径和版本号

    如果它是进程外对象,我建议查看注册表以查看哪个程序注册为服务器

  • 首先使用查找CLSID。ProgID是可与CreateObject一起使用的可读字符串,例如
    Excel.Application
    。CLSID是一对花括号内的128位十六进制数字。查看注册表项
    HKEY\U LOCAL\U MACHINE\SOFTWARE\Classes\{ProgID}\CLSID

  • 查看
    HKEY\U LOCAL\U MACHINE\SOFTWARE\Classes\CLSID\{CLSID}\
    下面的条目,其中
    {CLSID}
    是对象的类id。此条目提供提供对象的exe的路径


  • 获取对象“\u tLiaApplication”的方法“InterfaceInforomObject”时出错。但它确实可以编译,并且IntelisSense显示了该方法。然后尝试ClassInfo FromObject。你永远不知道。它实际上取决于对象的检查方式。获取对象的方法“InterfaceInfo-FromObject”失败。但它确实可以编译,并且IntelisSense显示了该方法。然后尝试ClassInfo FromObject。你永远不知道。它实际上取决于对象的检查方式。