2009-03-03 69 views
6

我有一個DLL文件,它具有一些我想在我的應用程序中調用的有用功能。不幸的是,我不再有任何文檔。我想知道Win32.DLL有哪些功能可用

有什麼辦法可以發現DLL和它們的方法簽名導出的函數是什麼?

也許有一個實用程序列出了函數及其參數。

知道了嗎?

回答

3

用於包括依賴學步車 GUI工具,可以用來探索DLL內容在Windows SDK:

的Dependency Walker是一個它可以掃描任何32位或64位Windows模塊(exe,dll,ocx,sys等),並構建所有相關模塊的分層樹狀圖。對於找到的每個模塊,它列出了該模塊導出的所有功能,以及其中哪些功能實際上由其他模塊調用。另一個視圖顯示所需文件的最小集合,以及有關每個文件的詳細信息,包括文件的完整路徑,基本地址,版本號,機器類型,調試信息等。

時下,it can be found here

有關方法簽名詳細信息和創建內部連接.NET代碼,請在pinvoke site中查找您的DLL。您也可以嘗試使用Visual Studio 2003和2005的加載項。

+1

良好的依賴walker沒有給我提供函數參數的細節。這會有所幫助。 – 2009-03-03 08:16:50

5

DUMPBIN /出口

Dumpbin[1]是在Windows SDK的實用程序)

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

編輯:BTW,我看到 '互操作' 和 '.NET' 的標籤,不要忘了反射器和pinvoke.net。 (這些都不幫助,當然實際的Win32 DLL導出。)

+0

@mezoid:非常感謝您的編輯。對不起,因爲你的鏈接似乎毀了我的「編輯:」塊。它顯然不那麼理想。現在沒有時間弄清楚正確的轉義語法:D – 2009-03-03 08:06:58