我正在研究如何通过使用鼠标光标指向窗口来获取窗口句柄。问题是我无法获取选项卡对话框内的按钮/文本。我使用 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结构?
请帮忙..谢谢