【问题标题】:How to list available methods in a Win32.DLL如何列出 Win32.DLL 中的可用方法
【发布时间】:2010-10-10 23:04:52
【问题描述】:

我有一个 DLL 文件,其中包含一些我想在我的应用程序中调用的有用函数。我没有它的文档了。

我如何发现 DLL 导出的函数及其方法签名?

有没有列出函数及其参数的实用程序?

【问题讨论】:

    标签: .net winapi dll interop


    【解决方案1】:

    Windows SDK 曾经包含 dependency walker GUI 实用程序,可用于探索 DLL 内容:

    Dependency Walker 是一款免费实用程序,可扫描任何 32 位或 64 位 Windows 模块(exe、dll、ocx、sys 等)并构建所有依赖模块的层次树图。对于找到的每个模块,它会列出该模块导出的所有函数,以及其中哪些函数实际上被其他模块调用。另一个视图显示最少的所需文件集,以及每个文件的详细信息,包括文件的完整路径、基地址、版本号、机器类型、调试信息等。

    现在,it can be found here

    有关方法签名详细信息和创建互连.NET 代码,请在pinvoke site 中查找您的DLL。您还可以尝试他们的 Visual Studio 2003 和 2005 插件。

    【讨论】:

    • 依赖walker 没有给我函数参数的详细信息。那会很有帮助的。
    • 添加了对 pinvoke.net 的引用
    【解决方案2】:

    垃圾箱/出口

    Dumpbin[1] 是 Windows SDK 中的实用程序)

    [1]:http://msdn.microsoft.com/en-us/library/aa446532.aspx

    编辑:顺便说一句,我在标签中看到“互操作”和“.NET”,不要忘记反射器和pinvoke.net。 (当然,这些对于实际的 Win32 DLL 导出都没有帮助。)

    【讨论】:

    • @mezoid:非常感谢您的编辑。很抱歉破坏了您的内容,但您的链接似乎破坏了我的“编辑:”块。它显然不那么理想。现在没有时间弄清楚正确的转义语法:D
    猜你喜欢
    • 1970-01-01
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 2010-12-21
    • 2011-07-19
    相关资源
    最近更新 更多