当前位置 : 主页 > 编程语言 > c++ >

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

来源:互联网 收集:自由互联 发布时间:2021-06-23
可以通过 Windows API来枚举和迭代属于用C Builder或Delphi编写的外部Win32应用程序的窗体(TForm)上的VCL控件. 再见. 首先,请考虑Windows API不知道“VCL”是什么.它不知道“TButton”或“TStringGrid”
可以通过 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.

网友评论