除了"flags"参数之外,ChildWindowFromPointEx和ChildWindowFromPoint有何不同?

sha*_*oth 2 windows winapi visual-c++

Windows API具有ChildWindowFromPoint()ChildWindowFromPointEx()功能,它们的不同之处在于后者具有指定要跳过哪些窗口的uFlags参数.

看起来如果我CWP_ALL进入,ChildWindowFromPointEx()我会得到与我一样的效果ChildWindowFromPoint().

uFlags参数的唯一区别是什么?我可以ChildWindowFromPointEx()随处使用并CWP_ALL在需要ChildWindowFromPoint()行为时通过吗?

Rog*_*and 6

如果它有帮助,我会破解一个快速测试应用程序,该应用程序调用这两个函数并进入反汇编的USER32.DLL以查看调用的位置.

因为ChildWindowFromPoint,在一些序言之后,我达到了这一点:

儿童

主要处理委托给了电话75612495.

然后,为了ChildWindowFromPointEx,我进入装配并得到这个:

childex

由于该入口点是来自第一个函数的调用的目标,我似乎很清楚ChildWindowFromPoint调用ChildWindowFromPointEx,可能是uFlags设置为CWP_ALL(我的汇编程序知识有限但我push 0在调用之前很难看- CWP_ALL被定义为零).