【问题标题】:win32 - detecting all the parent windows of an child windowwin32 - 检测子窗口的所有父窗口
【发布时间】:2012-09-19 05:07:02
【问题描述】:

就像EnumChildWindows API 一样,想知道相反的情况是否可能......即,是否有一种技术或 API 可以枚举子窗口的所有父窗口,并最终到达主应用程序窗口。

我的问题是我有超过 1 个不同的应用程序具有相同的子窗口(可通过其窗口类和标题识别)。我想一次检测哪个应用程序特定的子窗口处于活动状态,或者如果两者都处于活动状态想要与任何一个一起工作?

例如,我有 2 个应用程序正在运行,名为“XYZ”和“ABC”,它们都有一个具有相同 reg 的子窗口/对话框。类和标题说 - “配置”。现在我想从“XYZ”应用程序中获取“配置”对话框的窗口详细信息?

希望我能够正确地提出问题的详细信息。

谢谢,

【问题讨论】:

  • 我相信一个窗口只能有一个父窗口。
  • 我相信您将窗口类与实例混淆了。
  • @Ionut Hulub:是的,但是是否可以从子窗口移动到直接父级,然后移动到下一个直接父级,依此类推。直到您最终获得主应用程序父窗口。这种反向枚举有什么优雅的方法吗?
  • @XMarshall 现在您更加困惑,因为您刚才所说的不是您在问题中所说的。我已经发布了这种枚举的答案,然后将其删除,因为我更好地阅读了您的问题。现在看来我应该取消删除它?
  • 您应该删除 having the same child window 并将其替换为 having child windows of same class

标签: winapi win32gui


【解决方案1】:

GetAncestor 函数。

GetAncestor(hWnd, GA_ROOT)

【讨论】:

    猜你喜欢
    • 2010-10-05
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    相关资源
    最近更新 更多