在我的(PowerBuilder)应用程序中,我希望能够确定与给定窗口句柄相对应的graphicobject
对象。
简单地遍历Control[]
数组并比较每个子控件的Handle()
函数返回的值不起作用,因为我的应用程序中的所有对象都不是主窗口的子对象(考虑登录对话框)。
任何PowerScript或C / C ++解决方案都是可以接受的。
是否可能会向窗口句柄发送一些窗口消息,而且只有PowerBuilder窗口会理解此消息,这会以内部对象名称等响应?
答案 0 :(得分:1)
是否需要从句柄中确定对象,或者您只是想识别一个对象,例如知道您需要修改的代码在哪里?我做了一个工具来完成后者,但它使用了对象焦点,而不是窗口句柄。
(已添加2010-06-21)对于不是主窗口子窗口的窗口,您可以使用isValid()
显式检查每个窗口类名称。然后对于每个有效窗口,挖掘寻找手柄。只要您一次只打开一个窗口类的实例,这应该可以工作。如果您打开多个实例,我认为您需要向这些窗口的open
添加注册机制,以便应用程序可以访问它们。