1. Quicker中获取选中文本的方式就是通过模拟Ctrl+C再读取剪贴板实现的,CL说是因为要从各种不同的软件中获取文本的话,目前通用且稳定的方法就是通过剪贴板了,还没有找到其它更加稳定的方法(另外有一个通过UIAutomation方式获取,但不太稳定,所以没有使用)。不知道其它翻译软件是如何获取的?如果有更加好的方案也欢迎提供。
2. 较为困难,早期有这样的开发计划,后来搁置了,就是因为难度较大,个人时间也不太够。
主要难点在于:
①OCR结果都是按照行或者词返回的,如果翻译成英文的话,不同位置的句子需要根据语义进行拆分或合并再翻译,需要分辨哪些内容是连在一起的,哪些是不相关的。
②翻译完的文本显示在界面上时,不能直接使用OCR出来的位置坐标,还得重新进行调整,毕竟英语文本与中文文本语序、句长都不同。有时候不同行的内容得连起来显示,有时候又得断开。
③多段不同位置的文本要实现鼠标拖动连续选择;
……
当然,这也是我个人感受到的难点。不清楚其它程序是怎么实现的(毕竟开源的也少)。