2010-03-19 79 views
2

我正在寫一個應用程序需要讀取另一個Delphi程序上的數據字段,我沒有訪問第三方程序的源代碼。數據字段包含我需要在我的應用程序中檢索或創建的記錄的「外鍵」。德爾福,從第三方數據字段讀取數據

我將不勝感激任何知識或組件的鏈接,這些鏈接將幫助我完成我的程序。

+1

您是如何從其他程序接收數據的?它是否以某種方式與你分享,還是你想直接看看它的地址空間,並理解裏面的內存? – 2010-03-19 17:21:54

回答

3

我假設你正試圖從另一個應用程序「屏幕抓取」文本字段。您可以使用FindWindow獲取該窗口的句柄,然後深入查看子窗口以找到要查找的控件(WinDowse by Greatis在此處可幫助您進行手動探索)。最後,將WM_GetText消息發送給具有該數據的控件。這裏是一個如何做到這一點的例子:About.Com article on digging and scraping with Internet Explorer.

編輯:D'oh! WM_GetText已經包裝在VCL中,在windows.pas中定義了GetWindowText函數。例如:

GetWindowText(Wnd, PC, sizeof(PC)); 
+1

不幸的是,如果有問題的控件有一個窗口句柄,這隻會起作用。使用類似WinSpy ++(http://www.catch22.net/software/winspy)的東西來調查控件是否有句柄,如果有的話,控件的屬性是什麼。 – skamradt 2010-03-19 19:27:22

+0

沒有句柄,我想你只剩下OCR了。 – 2010-03-19 19:33:35

+0

Greatis.com的鏈接被破譯或被感染了(?) – 2010-03-21 03:14:51