最近用到了这个API,懒惰驱使,随便搜了个csdn上的代码拿来用用,发现跑起来奇慢,虽然跑了好久好久最后也不知道因为什么停下来了,也能看到树控件里的结果了,但还是表示怀疑。经过验证发现HWND在枚举过程中有多次重复,最后又回到MSDN手册去查了一把,注意到关键的一句话:
If a child window has created child windows of its own, EnumChildWindows enumerates those windows as well.
意思是说这个函数在枚举某窗口时已经递归地把后代窗口全枚举过了。
回头看看,发现国内能查到的资料都是要么把msdn整段贴上来,要么几份相同的代码贴来贴去,就是没有提到这关键的一点。一个坑,大伙一个接一个往里跳。自己不敢说有多大责任心,但是起码我也掉坑里一次,特写此篇留念一把。若第一次见