[attach]9783[/attach]
上图红框内的窗口类名都是ReBarWindow32,标题都是空,现假设我们需要绑定00658606。假如我们使用
system.enum( 655592,3 ) 枚举所有子孙窗口,那枚举出来的就有不止一个类名为ReBarWindow32的窗口。你说按照顺序来判断?我们只需要从枚举的列表中找到第二个类名为ReBarWindow32的窗口即可。我们进一步假设更复杂的情况,上面的树没有完全展开,如果在1378490的子孙窗口中有不止一个类名为ReBarWindow32,并且有一些是不可见的。如果在724112后面还有兄弟窗口,这些兄弟窗口也有若干子孙窗口类名为ReBarWindow32。那要分析system.enum( 655592,3 )所枚举到的列表就变得很困难了,你必须清楚enum函数是深度优先还是广度优先还有到底有多少个类名为ReBarWindow32的窗口是不可见的,这种处理方法很让人抓狂。下文来探讨另一种做法。