繁体   English   中英

获取任何活动窗口的内容

[英]Get the content of any active window

我正在努力寻找一种可靠的方法来获取当前位于前台的窗口的内容/文本。 如果可能,它应该能够从用户当前正在使用的每个程序中确定文本

我试过的

  • 截取当前活动窗口的屏幕快照 ,应用一些过滤器并运行OCR算法 (tesseract .Net包装器)。 这可行,但是需要很长时间并且不是很准确。
  • 然后,我尝试了一些Windows API函数 (FindWindow函数和SendMessage函数),如所描述这里 我可以使其运行在例如标准编辑器(记事本)上,但不能在大多数其他程序上运行
  • 我还尝试使其与AutoHotKeyWinGetText函数以及一个.Net包装器一起使用 在这里,我仅获得有关窗口的一些信息,但绝不会获得其文本...

不幸的是,现在,我不知道该怎么办,因为我陷入各种困境……有人对此有经验或知道一种可行的方法吗? 任何建议都非常感谢

很难找到一种从应用程序中检索文本的解决方案。 将需要针对不同程序的不同方法。

对于AutoHotkey而言,利用Acc.ahk的AccViewer是最佳的首选方法。 Acc处理多种控件以及控件中的元素,与AutoHotkey的ControlGet命令相比,它可以涵盖更多的控件类型。

Acc Library [AHK_L](2012年9月27日更新)-脚本和功能-AutoHotkey Community
https://autohotkey.com/board/topic/77303-acc-library-ahk-l-updated-09272012/

可访问的信息查看器-Alpha版本(2012-09-20)-脚本和功能-AutoHotkey Community
https://autohotkey.com/board/topic/77888-accessible-info-viewer-alpha-release-2012-09-20/

描述一些其他文本检索方法的链接:

AutoHotKey Control获取

另请注意:

COM(组件对象模型)由AutoHotkey本地处理。 它可以用于从Internet Explorer中的Web元素中检索文本,并且可以通过VBA代码从MS Office程序(例如MS Excel和MS Word)中检索文本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM