只有当应用程序'X‘(Inspect.exe | Narrator.exe | Magnify.exe)正在运行时,我才能在Windows应用程序中获得一些IUIAutomationElements。如果不运行'X‘,我尝试从中获取IUAutomationElement的应用程序实际上就变成了一个黑盒。例如,在Microsoft Excel中,当'X‘正在运行时,我可以获得单元格标识符( A1、D6等)。如果背景中没有'X‘,我得到的最细粒度的细节就是Excel工作簿本身。
我尝试过(使用http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/nftechsupt.web+WinBatch/Manifest+Manifest~Faqs.txt)设置uiAccess=true和对应用程序进行签名,将其移动到安全的(程序文件)位置,但都没有成功。
仅供参考:开发环境: C++项目,Microsoft Visual Studio 2015,社区版。
发布于 2017-04-05 17:57:49
通常,要使UI自动化起作用,自动化的应用程序必须与自动化它的应用程序在相同的UAC level下运行。
因此,例如,如果Excel不是以管理员身份运行的,则自动化应用程序不能以管理员身份运行,或者如果Excel以管理员身份运行,则自动化应用程序必须以管理员身份运行,等等。
https://stackoverflow.com/questions/42383170
复制相似问题