Codejie's C++ Space

Using C++

LingosHook:Lingoes生词本版本二


    折腾了几天,发现要写的东东越写越多,怕再这样下去就没头了,因此前两天总结一下,随笔都写好了,正想传上来呢,结果发现Lingoes升级。。。昨天和今天又重新检查了一下,还好除了Lingoes增加了一个F12热键外,其它变化不大,所以,今天先上传一个版本来,省的夜长梦多啊。。。。有兴趣的,这里可以下载了。(CPPBlog上传有限制,只能放到MSN上了~)
    
    开始先说一下“技术参数”,
    1. 需求:
                a. WindowsXP(仅在XP上跑过,Vista,Win7环境还真不知道。。);
                b. Lingoes支持2.6.3和2.7.0,也许还有其它版本,只要缺省词典是Vicon的应该就可以(Lingoes2.7.0有个标准版,这个不行,要用简体中文版);
    2. 安装:
                a.下载运行LingosHook_Setup.7z,缺省安装在Program Files下面;
                b. 卸载可以在控制面板中的‘添加删除’里面找到,卸载后,本地数据文件会被保留,如果不需要了,可删除;
                c. 程序不对注册表做改动,所有文件都在一个目录下面;
    3. 运行:
                a. 安装后,程序名称为LingosHookApp,点击运行;
                b. 程序执行后,在保证Lingoes已经运行的情况下可以点击主界面中的‘Hook’键,开始抓取Lingoes弹出窗口的查询结果;
                c. 也可以在‘Hook’后,使用热键(缺省Ctrl+F10),抓取主界面中的查询结果;
    4.已知Bugs:
                a. 无法抓取结果:多数可能是其它词典结果干扰所致,此时设置Lingoes的词典即可,一般是关闭使用‘在线’方式的词典,最简单的方法就是只使用Vicon词典。。。(这个问题会尽快改掉,太不靠谱了。。。)
                b. 点击‘Unhook’键时,程序出错:目前定位在卸载Hook动态库有问题,要解决的话就是要不从来不点击‘Unhook’,要不就出错了,重启LingosHook(也不靠谱。。。)



    下面是前两天写的,因为没啥太大变化,不重写了。。。


    LingosHook此次变化如下:
        1. 通过解析HTML数据分析结果数据;
        2. 支持Hotkey方式截取Lingoes主窗口的结果;
        3. 自动检查Lingoes主窗口使用的语言,当前仅支持中文和英文界面;
        4. 可以删除结果数据了(最基本的功能,只是上次忘记了。。。);
        5. 输入自动匹配;在输入框输入单词时,能够自动匹配最接近的单词,并显示结果;(看是基本功能,但Combobox控件还真不支持,只能自己写。。。)
        6. 新的参数配置,并且可以都保存了(基本功能,上次懒了。。。)
        7. 增加了统计数据;记录了单词的查询时间和次数,为以后可能的统计功能做准备;

    就上面这些了,这次改动还是挺多的,也练习了许多新的代码,如HTML的解析,wxWidgets控件自定义事件消息(这个是为了实现ComboBox的自动匹配功能),等等。后面还有很多功能需要添加,如多词典支持,当前仅支持Lingoes默认使用的Vicon E-C词典(这个是体力活。。。),界面字体设置(缺省字体尺寸为8,太小了,现在放大到10了,但能够设置才比较靠谱。),统计功能的展现等等,当然,添加图标也是需要的,但我一直都没搞明白原理。。。这次也省了先吧。。。

    好了,传图,展示并当帮助说明文档了。

    1.主界面


    界面跟上次没有变化,在左上侧输入框中可以输入查询的单词,LingosHook将自动匹配最靠近的单词,并显示结果。相关功能为:
        1. 在输入框中输入单词后,若回车,LingosHook会将当前输入记录在输入框的下拉框中,方便下次使用,但并不保存输入数据,关闭即清除;
        2. 选择左侧单词列表框中的单词,会在右侧结果框中显示结果;此时按下Ctrl键和Del键将删除选定的单词;
        3. 右侧结果框中显示的结果为,单词,音标,出处(词典),词类和解释;其统计结果在Stats.项目里,默认不显示,可点开查看;
        4. 右侧输入框下面Tab用于切换各显示窗口;
        5. 右下侧的‘Hook’按钮是LingosHook的最核心功能;按下此按钮,LingosHook将Hook到Lingoes中,开始抓取查询数据,再次点击将Unhook,LingosHook停止抓取。可反复点击此按钮,用于切换抓取和不抓取数据状态;若LingosHook Hook Lingoes失败,如Lingoes未启动,LingosHook将显示一个‘Hook Failed.’的错误提示框。

    2. HTML界面


    3. 参数设置界面

 



    此界面用于设置LingosHook的参数,说明如下:
        1. Lingoes Configuration - User Interface Language:用于设置当前Lingoes使用的界面语言,默认是自动检测配置'Auto-Detect';当前只支持中文和英文两种界面;
        2. System Configration - Use Hotky:此参数用于设置抓取Lingoes主窗口查询数据的热键,默认开启,热键为Ctrl+F12,还可以设置为Alt+Ctrl+F12,Ctrl+F11,Alt+Ctrl+F11,Ctrl+F10以及Alt+Ctrl+F10;若关闭此参数,即不使用热键功能,将无法抓取Lingoes主窗口查询数据;
        3. Debug Configure - Open Trace:此参数用于调试使用,当开启是,可在Trace界面中获得在Lingoes中抓取的原始数据;默认此参数是关闭状态的;
        4. Apply按钮:点击此按钮,将保存当前配置,但当前部分配置并不能马上生效,需要重启LingosHook;目前能实时生效的只有Open Trace配置。

    4. Trace界面



    此界面用于调试使用,可以查看从Lingoes抓取的原始数据。

   
    介绍就这些,有问题请跟帖,安装文件这里下载。严重提示--安装前请杀毒。(我并不写病毒,但网络不安全,使用须谨慎啊。。。)

posted on 2010-03-05 17:26 codejie 阅读(2864) 评论(8)  编辑 收藏 引用 所属分类: C++

评论

# re: LingosHook:Lingoes生词本版本二 2010-03-05 19:49 okoak

太牛逼来了!!!虽然我还没试过,当博主你的辛勤还是要回应的。咋不能光拿不连谢字都知道说是吧,受国教育的都知道。

但是这里要提个建议,就是能不能能不能添加个时间和Tag列表功能啥?你想啊,词查多了要从慢慢英语单词里查一个本来就叫【生词】的列表里找出来,是挺有难度的。

不过毕竟是行插件嘛,粗糙的理解。但万切希望版本三能考虑我的建议。  回复  更多评论   

# re: LingosHook:Lingoes生词本版本二 2010-03-05 21:02 codejie

@okoak
。。。客气了,试试先比较好。。。我又更新了,麻烦重新下载下,不好意思啊~
关于你的建议我记住了。。。只是记住了,我比较懒,怕后面没热情了。。不过你说的这个时间程序有此功能的,在‘stats’属性里面。
严格地说,LingosHook不是Lingoes的插件,其没有提供接口的,我也是走偏门的,可能真正好用的生词本还得等版主心情好了再说。。。  回复  更多评论   

# re: LingosHook:Lingoes生词本版本二[未登录] 2010-03-30 20:27 v

我准备试试,长期关注这个!!谢谢!对啊,抱走得跟您说说,谢谢!!

会及时更新使用反馈,造福群众啊。  回复  更多评论   

# re: LingosHook:Lingoes生词本版本二[未登录] 2010-03-30 23:50 codejie

@v
感谢关注,有啥问题你就贴吧,俺不怕的,嘿嘿~  回复  更多评论   

# re: LingosHook:Lingoes生词本版本二 2012-11-21 22:31 bowen

明明中国人开发的软件,非要用英文!你以为这是开发智力学习英文的好平台吗!!!而且难用的要死,不是侮辱你智商,真的C++做成这样回家吃饺子去吧~!  回复  更多评论   

# re: LingosHook:Lingoes生词本版本二 2012-11-22 09:17 jan

@bowen
外国人还可以用来记中文么,眼光浅了吧^^  回复  更多评论   

# re: LingosHook:Lingoes生词本版本二[未登录] 2012-11-22 13:26 codejie

@jan
林子大,不好说啊...  回复  更多评论   

# re: LingosHook:Lingoes生词本版本二[未登录] 2012-11-22 13:48 codejie

@bowen
英文怎么了?来下载LingosHook为了啥?咱就不说你的智商问题了,只是比较担心你生理是否健全啊..  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

Using C++

导航

统计

留言簿(73)

随笔分类(513)

积分与排名

最新评论

阅读排行榜

评论排行榜