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

Windows UI 自动化 - 未找到窗口

如何解决Windows UI 自动化 - 未找到窗口

我正在开发一个 VBA 程序,以帮助使用 UI 自动自动执行任务,但我遇到了一个问题,即我试图控制的程序窗口没有显示为 Root 的子项元素(桌面)。

我的理解是所有元素都是桌面元素的子元素/后代元素,所以它为什么不显示令人费解。这是我用来查看 Desktop 元素的所有子元素的代码

Sub test_get_windows()
    Dim oAutomation As New CUIAutomation
    Dim oDesktop As UIAutomationClient.iuiAutomationElement
    Dim oCondition As UIAutomationClient.iuiAutomationCondition
    Dim oChilds As UIAutomationClient.iuiAutomationElementArray
    Dim i As Integer
    
    Set oDesktop = oAutomation.GetRootElement
    Set oCondition = oAutomation.CreateTrueCondition
    Set oChilds = oDesktop.FindAll(TreeScope_Children,oCondition)

    For i = 0 To oChilds.Length - 1
        Debug.Print oChilds.GetElement(i).CurrentName
    Next i
End Sub

我看到所有除了我试图与之交互的窗口。我在另一台计算机上尝试了该代码,并且能够看到该窗口。

不工作的计算机:

可以工作的计算机:

AcSELerator Quickset 窗口不会出现在第一台计算机上,但会出现在第二台计算机上,所以我认为这不是应用程序的问题。两台计算机都安装了相同的版本并运行 Windows 10 Enterprise。关于可能是什么问题的任何想法或我可以尝试的任何故障排除步骤?

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