Java / SWT应用程序中的控件ID

时间:2012-01-13 11:44:04

标签: java delphi swt

我有第三方应用程序,我需要阅读一些控件的值,以便在我自己在Delphi中开发的应用程序中使用它们。另一个应用程序在Windows上运行,显然是使用SWT框架用Java编写的。不幸的是,每次启动第三方应用程序时,我需要读取值的控件的(控件)ID都不同。似乎每次创建应用程序的UI时,Java / SWT框架都会生成新的窗口/控件ID。我可以使用其他标识符吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Windows属性获取持久性ID。

该属性的名称是SWT_OBJECT_INDEX:

nProp := GetProp(Handle, 'SWT_OBJECT_INDEX');

GetProp()的返回值是窗口的ID。手柄是您控制的手柄。但是,您需要遍历所有子窗口以查找具有您要查找的ID的控件。请注意,如果更新应用程序,这些ID可能会更改。