Windows API具有ChildWindowFromPoint()和ChildWindowFromPointEx()函数,它们的区别在于后者具有指定跳过哪些窗口的uFlags参数。
它看起来像是如果我将cwp_ALL传递到ChildWindowFromPointEx()我会得到完全相同的效果,我会用ChildWindowFromPoint() 。
uFlags参数唯一的区别是什么? 当我需要ChildWindowFromPoint()行为时,我可以随处使用ChildWindowFromPointEx()并传递cwp_ALL吗?
Visual C ++ DLL将2-3兆字节复制到C#缓冲区的最快方法是什么?
DLL加载通知
由于某种原因,内存在内存上的重量超过了32位
如何使用DvbSiparser.h在vc ++中parsingmpeg2 TS?
Windows计时器分辨率与应用程序优先级与处理器调度
Windows C ++纳秒时序?
堆栈缓冲区溢出(Windows,C ++):如何检测罪魁祸首?
免费的Windows 64位C ++ 11编译器
如果它有帮助,我砍了一个快速的测试应用程序,调用这两个函数,并进入反汇编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 举报,一经查实,本站将立刻删除。