没有 Inspect.exe、Magnify.exe、Narrator.exe 运行 之一,无法获得最深的 IUIAutomationElement

Unable to get deepest IUIAutomationElement without one of Inspect.exe, Magnify.exe, Narrator.exe running

只有当应用 'X' (Inspect.exe | Narrator.exe | Magnify.exe) 是 运行。如果没有 'X' 运行,我尝试从中获取 IUAutomationElement 的应用程序实际上变成了一个黑盒子。例如,在Microsoft Excel 内部,当'X' 为运行 时,我可以获得单元格标识符(A1、D6 等)。没有 'X' 在后台,我得到的最详细的细节是 Excel 工作簿本身。

我试过设置 uiAccess=true 并签署应用程序(使用 http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/nftechsupt.web+WinBatch/Manifest+Manifest~Faqs.txt),将其移动到安全(程序文件)位置,但没有奏效。

仅供参考:Dev Env:C++ 项目,Microsoft Visual Studio 2015,社区版。

一般来说,要使 UI 自动化工作,自动化的应用程序必须 运行 与自动化它的应用程序 UAC level 相同。

例如,如果 Excel 不是 运行 管理员,则自动化应用程序不得 运行 作为管理员,或者如果 Excel 是 运行 作为管理员,自动化应用程序必须 运行 作为管理员,等等