ChildWindowFromPointEx

ChildWindowFromPointEx

Windows API具有 ChildWindowFromPoint() ChildWindowFromPointEx() 函数,不同之处在于后者具有uFlags参数,该参数指定要跳过的窗口。

看起来,如果我将CWP_ALL传递给ChildWindowFromPointEx(),则将获得与oj​​it_code完全相同的效果。

是uFlags参数的唯一区别吗?我可以只在各处使用ChildWindowFromPoint()并在需要ChildWindowFromPointEx()行为时传递CWP_ALL吗?

最佳答案

如果有帮助,我破解了一个调用两个函数的快速测试应用程序,然后进入了已分解的USER32.DLL,以查看调用的去向。

对于ChildWindowFromPoint,经过一些前言,我到达了这一点:

主要处理工作委托(delegate)给75612495进行。

然后,对于ChildWindowFromPointEx,我进入程序集并得到以下代码:

由于该入口点是第一个函数调用的目标,因此对我来说,ChildWindowFromPoint调用ChildWindowFromPointEx似乎很清楚,大概是uFlags设置为CWP_ALL(我的汇编知识有限,但我在调用之前会仔细研究该push 0 -CWP_ALL定义为零)。

关于windows - 除 “flags”参数外,ChildWindowFromPointEx和ChildWindowFromPoint有何不同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20066504/

10-10 07:00