2011-03-16 334 views
4

我想查看「.ocx」文件的接口。像這樣:如何查看ocx文件的接口?

enter image description here

但對於一些的.ocx,我只能看到5種功能,如:

enter image description here

的問題是:我怎樣才能看到這些OCX的接口文件。 我試試這個:

答:
a)我想註冊它,並在Visual Studio中看到它。但是當我註冊它時,會出現一個錯誤「LoadLibrary(path:\ filename.ocx)failed」。就像這樣:

enter image description here

B)然後我用 '的Dependency Walker' 打開OCX,找到該文件的依賴性沒有DLL文件。 enter image description here

c)如何註冊?

B. 我使用「Dll導出查看器」,現在我可以看到函數的名稱,但仍然無法獲取函數的參數。 我如何獲取函數的參數?

+0

OLE View是什麼意思? – sharptooth 2011-03-16 07:36:46

+0

OCX屬於COM系列,因此,接口和方法不會以與常規.DLL相同的方式導出。您不會在出口表中找到它們。請參考Marius的回答以及David Heffernan的建議使用'#import' – MickyD 2015-09-24 22:48:48

回答

4
+0

是的,我將ocx文件拖到OLE Obj查看器中,我不知道該消息的含義。我使用另一個工具「Dll導出查看器」,現在我可以看到該函數的名稱,但無法獲取參數信息。 – 2011-03-16 08:20:32

+0

@SidZhang你不能在COM/OCX中使用DLL Export viewer工具。您需要使用COM技術,例如_type libraries_ – MickyD 2015-09-24 22:50:46

1

該接口在類型庫(TLB)中進行了描述。您的DLL(OCX是一個DLL)應該包含TypeLibrary資源中的TLB。您可以提取此TLB並獲取接口說明。這項工作也應該由OLE View完成。

如果您的DLL不包含TLB並且沒有提供TLB文件,您將無法獲得接口說明。

編輯:像「DLL Export Viewer」這樣的工具顯示的信息比OLE View少。使用Microsoft提供的工具是值得的。

當你在你的文件的截圖裝飾的名字,你得到的函數簽名與「微軟(R)C++名稱Undecorator」(undname.exe)

+0

我使用了另一個工具「Dll Export Viewer」,現在我可以看到該函數的名稱,但無法獲取該參數。我現在需要參數信息! – 2011-03-16 08:21:34

+0

我用我的一個OCX嘗試了「DLL Export Viewer」。它只顯示了函數名稱,沒有參數。在用OLE視圖檢查相同的OCX時,我得到了完整的函數簽名。這是值得嘗試的OLE視圖。 – harper 2011-03-16 12:06:57

0

很久以前,我用這個工具叫做XRay:X-Ray Vision。我相信它使用起來相當簡單,並且仍然可以在Windows 7中運行。但作爲其他工具,它需要DLL/OCX嵌入類型庫,或者您需要找到相應的一個。