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 (将#修改为@)