c – 在外部应用程序中枚举VCL控件

可以通过Windows API来枚举和迭代属于用C Builder或Delphi编写的外部Win32应用程序的窗体(TForm)上的VCL控件.

再见.

解决方法:

首先,请考虑Windows API不知道“VCL”是什么.它不知道“TButton”或“TStringGrid”,它当然不知道“TImage”或“TLabel”,它们甚至没有窗口句柄.

您可以使用EnumChildWindows来获取窗口控件的句柄.您可以look at their class names确定它们来自“TButton”或“TStringGrid”,但即便如此,您也无法访问任何与对象相关的设施.您将没有对象引用,因此您无法读取任何属性或调用任何方法.

TestComplete,来自Automated QA,可以从外部程序访问程序的表单和类,这听起来就像您可能尝试的那样.它通过在Delphi程序中包含一个单元来工作,该单元实际上为TestComplete程序提供了一个后门,用于查询程序的内部.这需要应用程序开发人员的合作;你不能在任意程序上使用TestComplete.

上一篇:如何在Java中管理复杂的流控制?


下一篇:Asp.net Page event Lifecycle