我想从我的 Windows 应用程序中检测“Internet Explorer”、Firefox 和任何其他浏览器中的选定文本。
你知道为了实现这个我应该使用哪一段代码吗?
想法不是在IE中搜索文本,而是在IE中“捕获所选文本”。顺便说一下,不仅是 IE,还有任何具有焦点的 Windows 应用程序 我能想到的一件事是模拟一个 ctrl+c 来复制选定的文本,然后读取剪贴板,但我也不喜欢这个解决方案。
我几乎可以肯定应该有一种方法可以使用 Windows API 获取选定的文本,我知道使用 EM_GETSELTEXT、WM_GETTEXT、EM_GETSEL 可能会有用,但它们在 IE 或任何其他浏览器中不起作用,这是我的问题。 ...
最佳答案
这是一个相当高的要求。我认为您可能只有很小的机会通过 IE 实现这一点,您可以在 IE 中加载与“外部”浏览器中加载的相同页面到 WebBrowser 中。控件,并获取选中的文本。据我所知,并根据长期寻求做这样的事情的人的建议,Firefox 没有任何自动化模型可以在不付出巨大努力和风险的情况下由 C# 代码访问。
您对页面有任何控制权吗?您可能会考虑注入(inject) jQuery 之类的东西以使用 Ajax 调用发布选择,并设置一个服务器来监听该调用。
关于c# - 以编程方式在浏览器中获取选定的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2000059/