微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

除“flags”参数外,ChildWindowFromPointEx和ChildWindowFromPoint有什么不同?

Windows API具有ChildWindowFromPoint()和ChildWindowFromPointEx()函数,它们的区别在于后者具有指定跳过哪些窗口的uFlags参数。

它看起来像是如果我将cwp_ALL传递到ChildWindowFromPointEx()我会得到完全相同的效果,我会用ChildWindowFromPoint() 。

uFlags参数唯一的区别是什么? 当我需要ChildWindowFromPoint()行为时,我可以随处使用ChildWindowFromPointEx()并传递cwp_ALL吗?

注册性能计数器没有lodctr

Visual C ++ DLL将2-3兆字节复制到C#缓冲区的最快方法是什么?

DLL加载通知

由于某种原因,内存在内存上的重量超过了32位

如何使用DvbSiparser.h在vc ++中parsingmpeg2 TS?

Windows计时器分辨率与应用程序优先级与处理器调度

Windows C ++纳秒时序?

堆栈缓冲区溢出(Windows,C ++):如何检测罪魁祸首?

免费的Windows 64位C ++ 11编译器

如何直接调用NdrClientCall2()函数

如果它有帮助,我砍了一个快速的测试应用程序,调用这两个函数,并进入反汇编USER32.DLL,看看电话去。

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

主要处理委托给75612495 。

然后,对于ChildWindowFromPointEx ,我进入程序集并得到这个:

因为入口点是第一个函数调用的目标,所以我很清楚ChildWindowFromPoint调用ChildWindowFromPointEx ,大概uFlags设置为cwp_ALL (我的汇编知识是有限的,但我正在努力,调用cwp_ALL被定义为零)。

如果你打算总是使用ChildWindowFromPointEx和cwp_ALL,你可以使用ChildWindowFromPoint()。

如果您打算始终使用ChildWindowFromPoint,则可以使用ChildWindowFromPointEx和cwp_ALL。

ChildWindowFromPoint等同于使用cwp_ALL的ChildWindowFromPointEx。

建议:使用ChildWindowFromPointEx(你可能有一天有用于其他标志的值)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐