Windows API具有 ChildWindowFromPoint()
和 ChildWindowFromPointEx()
函数,不同之处在于后者具有uFlags参数,该参数指定要跳过的窗口。
看起来,如果我将CWP_ALL
传递给ChildWindowFromPointEx()
,则将获得与ojit_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/