C# 如何从后期绑定的COM对象获取方法列表

C# 如何从后期绑定的COM对象获取方法列表,c#,com,vb6,C#,Com,Vb6,我需要COM对象公开的方法和属性的列表。我能够后期绑定对象并使用在示例代码片段中找到的一些基本方法,但我需要找到对象上的方法和属性的完整列表 更多信息: 我试图从一个相当旧的系统中提取数据,但无法提前绑定任何DLL 我确实有一些创建这些DLL的公司的示例代码片段(它是与软件一起打包的),但是它没有我从他们的示例应用程序中看到的所有高级功能的代码(我没有源代码) 我已经尝试过使用反射,但没有多大成功。假设您不需要通过编程方式访问信息,最简单的方法是使用OLE-COM对象查看器。该工具是系统的一部分

我需要COM对象公开的方法和属性的列表。我能够后期绑定对象并使用在示例代码片段中找到的一些基本方法,但我需要找到对象上的方法和属性的完整列表

更多信息:

我试图从一个相当旧的系统中提取数据,但无法提前绑定任何DLL

我确实有一些创建这些DLL的公司的示例代码片段(它是与软件一起打包的),但是它没有我从他们的示例应用程序中看到的所有高级功能的代码(我没有源代码)


我已经尝试过使用反射,但没有多大成功。

假设您不需要通过编程方式访问信息,最简单的方法是使用OLE-COM对象查看器。该工具是系统的一部分


运行后,查看“类型库”节点并找到正在使用的组件的类型库。类型库查看器将向您显示组件定义的所有分派接口。

假设您不需要通过编程方式访问信息,最简单的方法是使用OLE-COM对象查看器。该工具是系统的一部分


运行后,查看“类型库”节点并找到正在使用的组件的类型库。类型库查看器将显示组件定义的所有分派接口。

如果无法在“引用”对话框中将DLL添加到VB6,则DLL中没有嵌入类型库资源。如果可以加载DLL,则应该能够使用F2打开对象浏览器,并查看组件的所有属性和方法

看来你不可能没有试过这个。因此有三种可能性:

  • 组件有一个外部类型库
  • 将DLL添加为引用时出错,这实质上是说VB IDE在组件中找不到类型库
  • 添加DLL作为引用时出现错误,例如“无法加载DLL”
  • 以防万一检查此组件是否有TLB或OLB文件。 如果你在2中得到错误那你就不走运了。您需要访问文档和/或源代码。
    如果你在3中得到错误然后可能有一个未注册的从属库。尝试查找依赖的TLB或DLL,并将其注册。

    如果无法在“引用”对话框中将DLL添加到VB6,则DLL中没有嵌入类型库资源。如果可以加载DLL,则应该能够使用F2打开对象浏览器,并查看组件的所有属性和方法

    看来你不可能没有试过这个。因此有三种可能性:

  • 组件有一个外部类型库
  • 将DLL添加为引用时出错,这实质上是说VB IDE在组件中找不到类型库
  • 添加DLL作为引用时出现错误,例如“无法加载DLL”
  • 以防万一检查此组件是否有TLB或OLB文件。 如果你在2中得到错误那你就不走运了。您需要访问文档和/或源代码。
    如果你在3中得到错误然后可能有一个未注册的从属库。尝试查找依赖的TLB或DLL,并将其注册。

    我已经有一台带有Vb6/Visual studio 2005-2010的计算机。还有一些dll是16位的,所以它们不能在windows 7上工作。我链接到windows 7 SDK,因为它是最容易找到的,OLE COM Viewer应用程序可以在早期版本的windows上工作(并且包含在早期版本的平台SDK中)。我已经有一台带有Vb6/Visual studio 2005-2010的机器。还有一些dll是16位的,所以它们不能在windows 7上工作。我链接到windows 7 SDK,因为它是最容易找到的,OLE COM Viewer应用程序可以在早期版本的windows上工作(并且包含在早期版本的平台SDK中)。我觉得很不幸,我在这方面运气不好。当我后期绑定对象时,我能够对一些方法名进行有根据的猜测。但是,这还不足以完成手头的任务。您可以尝试从可执行文件中挑出所有字符串。但是,您仍然必须计算出方法参数。此组件是否作为第三方组件销售?15年前它已停止“销售”。我们正在升级到一个新系统。我觉得很不幸,我在这方面运气不好。当我后期绑定对象时,我能够对一些方法名进行有根据的猜测。但是,这还不足以完成手头的任务。您可以尝试从可执行文件中挑出所有字符串。但是,您仍然必须计算出方法参数。此组件是否作为第三方组件销售?15年前它已停止“销售”。我们正在经历一个升级到新系统的过程。