2009-10-25 53 views

回答

7

不需要。首先,請考慮Windows API不知道「VCL」是什麼。它不知道「TButton」或「TStringGrid」,它當然不知道「TImage」或「TLabel」,它們甚至沒有窗口句柄。您可以使用EnumChildWindows來獲得窗口控件的句柄你可以用look at their class names來確定它們來自「TButton」或「TStringGrid」,但即使如此,你也無法訪問任何與對象相關的設施。您不會有對象引用,因此您無法讀取任何屬性或調用任何方法。

TestComplete來自Automated QA,可以從外部程序訪問程序的表單和類,這聽起來像您可能想要做的。它通過在Delphi程序中包含一個單元來工作,並且該單元本質上爲TestComplete程序提供了一個後門,用於查詢程序的內部。這需要應用程序開發人員的合作;你不能在任意程序上使用TestComplete。

+1

這裏是一個有用的工具http://catch22.net/software/winspy,它可以讓你輕鬆地瀏覽從窗口/控件通過windows API調用返回的數據。 – skamradt 2009-10-26 15:37:40

0

您可以查看DFM,這些DFM作爲資源存儲在可執行文件中。

安德斯奧爾森把一個VCL Scanner application放在一起,剛剛這一點。 source code也可用。

0

直到德爾福2006年,你可以使用vcltest3.dll這個。但現在你必須按照羅布肯尼迪的建議。