PPPoint 发表于 2024-7-28 17:03

C++ 屏幕取词请教

最近在研究屏幕取词的一些实现方法,看到这块其实资料并不算多。
一个已经商业化的SDK叫GetWord,https://www.textcapture.com/gb/getword.htm。

想要请教一下,实现屏幕划词取词或者悬浮取词,有哪些可行的方案。

新人刚来,求各位大佬们指导。{:1_924:}

Yifan2007 发表于 2024-7-28 18:41

pandaocr那样的?pandaocr我记得开源,拿来改改换皮就行

DEATHTOUCH 发表于 2024-7-28 18:52

他这个集成了挺多方法的。

Pot翻译软件实现了鼠标选中取词,其中在Windows平台是使用UIAutomation的API和模拟键盘输入Ctrl+C再获取剪贴板实现的。
代码在:https://github.com/pot-app/Selection,注意是GPL3.0许可证。

获取光标位置的文字浏览器的话其实UIAutomation应该也可以做到,其他特定软件应该也可以专门处理。否则我能想到的就是OCR了。

msold5 发表于 2024-7-28 20:54

描述一下应用场景可能大家会提出更贴切一些的方法。不过大致上还是没加密的取字符,加了密的OCR

adamfh 发表于 2024-7-28 23:38

关注下,以前也用过getWord,但没成功

PPPoint 发表于 2024-7-29 19:11

DEATHTOUCH 发表于 2024-7-28 18:52
他这个集成了挺多方法的。

Pot翻译软件实现了鼠标选中取词,其中在Windows平台是使用UIAutomation的API ...

谢谢,我去学习下

PPPoint 发表于 2024-7-29 19:12

msold5 发表于 2024-7-28 20:54
描述一下应用场景可能大家会提出更贴切一些的方法。不过大致上还是没加密的取字符,加了密的OCR

翻译、总结、摘要都可以的。

PPPoint 发表于 2024-7-29 19:15

最近调研了一下,可行的方向有这些。

一个触发机制:用低等级消息勾子或者事件勾子,知道用户点击了鼠标
一个Selection获取机制:
1.Microsoft UI Automation
2.EM_GETSEL & WM_GETTEXT message
3.Hook TextOut API
4.OCR
5.Clipboard

目前跑通了剪贴板的方案了。
页: [1]
查看完整版本: C++ 屏幕取词请教