c++ - ChildWindowFromPoint 无法在选项卡对话框中获取按钮/文本 hwnd - MFC
问题描述
我正在研究如何通过使用鼠标光标指向窗口来获取窗口句柄。问题是我无法获取选项卡对话框内的按钮/文本。我使用 Spy++ 来获取层次结构,有 3 层可以到达所需的按钮。主窗口 (#32770) - Tab1 (#32770) - Btn1(按钮)。
而不是得到 Btn1,我总是得到 SysTabControl32 的窗口,它与 Tab1 具有相同的层次结构级别,这意味着我只能到达 SysTabControl32(不是我想要的)而无法到达 Tab1。
如果我使用 WindowFromPoint 并将鼠标指向 Btn1,我将获得 SysTabControl32;使用 ChildWindowFromPoint,我会得到 0 作为返回值;使用 RealChildWindowFromPoint,我会得到 SysTabControl32。
Spy++ 只能检测 MainWindow、SysTabControl32 和 Tab1,但不能检测 Btn1。我可以使用 EnumChildWindow 获取所有子窗口,但它只是表明这些子窗口存在,而 ...FromPoint 函数仍然找不到 Tab1 和那些子窗口。
有谁知道这种情况的原因是什么?似乎 SysTabControl32 (TabCtrl) 阻止了 Tab1 (TabDialog),是吗?还是开发者创建的tab结构?
请帮忙..谢谢
解决方案
推荐阅读
- android - 在 Xamarin Android 的运行时向用户请求位置权限时应用程序崩溃
- ios - 在 iOS 的 Firebase 测试实验室中测试无密码身份验证
- android-studio - 为什么 Android Studio 会为某些类输入完整路径?
- java - Spring Batch 从外部类停止作业执行
- python - Wy 函数 time.time() 不会附加到 pandas 数据帧
- html - 如何使整个 div 成为 mailto 链接?
- graph-databases - 为什么大多数图形数据库不支持双向边?
- google-apps-script - 谷歌表自动递增 ID/主键
- google-cloud-dataflow - 谷歌云数据流:连续 8 次测量 GC 抖动后关闭 JVM
- amazon-dynamodb - 无服务器 dynamodb 启用连续备份