问题标签 [automationelement]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 从应用程序外部的任何地方获取选定的文本
上下文:
我的任务是实现能够检索活动窗口的当前选定文本然后按下注册的热键组合的功能。使用此注册的热键user32.dll RegisterHotKey
用于标记稍后将转发到将呼叫该号码的电话的电话号码,这些电话号码可以来自各种地方,其中一些是:在应用程序、电子邮件、数据库中。
问题:
当 Chrome 浏览器进入图片时,问题就出现了,Chome 没有响应 SendKeys 或我扔给它的任何东西。
问题:
使用 C#,我如何从 Chrome 窗口或任何一般浏览器中检索当前标记的文本,因为它需要与用户喜欢使用的任何浏览器兼容?
我已经尝试过:
到目前为止,我已经尝试了很多不同的方法和技巧,我尝试过user32.dll sendmessage
,以及其他廉价的技巧SendKeys
,AutomationElement
这些技巧早已被覆盖,因为它只是抛出错误。
我当前工作的代码是从Github获取的。这在使用 notepad++ 时最有效。请注意,这也不适用于不和谐。
c# - 从自动化元素中检索非控制子元素
使用 inspect.exe 工具,我可以看到一个自动化元素有 6 个子元素,但其中一个元素的isControlElement和isContentElement都设置为false。然后我在 c# 中使用 windows 自动化,尝试使用以下几行检索自动化元素的子元素:
但是我得到了除了第一个孩子之外的所有孩子,这是一个“不是控制”的孩子。使用的条件是一般条件,因为我正在寻找的孩子没有名字或 AutomationID(或任何特定标识符)。
我还尝试根据缺少的孩子特征使用不同的条件,例如
LocalizedControlTypeProperty - “文本”或 IsControlElementProperty - false 甚至搜索所有后代而不是孩子,但这些都没有帮助找到它。
值得一提的是,在 Inspect.exe 中,兄弟姐妹链接正确,缺少的控件下一个兄弟姐妹指向 6 个中的下一个,而第二个的 prev 兄弟姐妹指向缺少的一个。但是,在代码中,inspect 的第二个是第一个。缺少的控件没有子控件。
c# - 在 C# windows 窗体中获取所有打开的选项卡 URL
我正在尝试使用 c# 在 Windows 窗体中获取 google chrome 的所有 url。目前我已经尝试过AutomationElement
只给我活动标签网址而不是所有打开的标签。
我的代码如下: