我注意到,如果您针对属于不在前景中的窗口(即最小化)的hWnd调用FindWindowEx
或EnumChildWindows
,则它们不会报告任何子级。另一方面,如果我首先在查询的窗口中调用SetForegroundWindow
,然后在FindWindowEx
或EnumChildWindows
之后,它们将报告所有子项。即使我感兴趣的窗口不在前台,下次调用也会报告所有子项。几乎是在第一次调用后进行某种缓存吗?
最佳答案
这是您自己的应用程序中的窗口,还是您正在调查第三方应用程序的作用?
我猜想该应用程序只会在它第一次进入前台时才创建其子窗口。这可以解释您所看到的行为。据我所知,EnumChildWindows
不执行任何缓存。