Python 屏幕取词功能实现思路
前言
近期接到了一个项目,雇主需求是仿照【有道词典】
【欧路词典】【金山词霸】实现类似的屏幕取词功能。
当鼠标移到屏幕上任何一处显示的字符串时,有道词典将会自动将该词的释义展示出来。
起初我认为取词这个功能非常好实现,所以我便爽快地答应接下了这个项目。
买家提出的要求:不要按任何快捷键,鼠标悬停上去就显示该词的释义。
技术难点一
因为笔者只会熟练地使用Python以及Java。这两门语言对系统底层的开发支持的都不是很好。但是,相较于Java而言,Python拥有较多的库,可以在该方面实现更多的功能,所以我使用了Python来进行编写。
笔者准备使用Pyhook3来进行函数Hook。但是Pyhook3的使用以及安装都已经超出了我的能力范围。安装好之后,并不能实现屏幕取词的功能。所以笔者就另外构思了一种思路。
思路一:利用好剪贴板
既然没有直接取词的方法,那么我们可以就换个思路。
据资料显示,python有很多库是可以实现读取剪贴板信息的,最简洁好用的就是Pyperclip。
有了Pyperclip,我们就可以方便地操作剪贴板了。
加之Pyhook3的全局事件监听,我们监听鼠标双击事件,双击之后,电脑就会自动为我们选中单词,在这个时候,通过模拟按键Ctrl + C按下,实现复制将单词复制到剪贴板。此时,我们就可以通过剪贴板开心地读取了。
具体流程图如下: