折騰了幾天,發(fā)現(xiàn)要寫的東東越寫越多,怕再這樣下去就沒頭了,因此前兩天總結(jié)一下,隨筆都寫好了,正想傳上來呢,結(jié)果發(fā)現(xiàn)Lingoes升級。。。昨天和今天又重新檢查了一下,還好除了Lingoes增加了一個F12熱鍵外,其它變化不大,所以,今天先上傳一個版本來,省的夜長夢多啊。。。。有興趣的,這里可以
下載了。(CPPBlog上傳有限制,只能放到MSN上了~)
開始先說一下“技術(shù)參數(shù)”,
1. 需求:
a. WindowsXP(僅在XP上跑過,Vista,Win7環(huán)境還真不知道。。);
b. Lingoes支持2.6.3和2.7.0,也許還有其它版本,只要缺省詞典是Vicon的應(yīng)該就可以(Lingoes2.7.0有個標(biāo)準(zhǔn)版,這個不行,要用簡體中文版);
2. 安裝:
a.
下載運(yùn)行LingosHook_Setup.7z,缺省安裝在Program Files下面;
b. 卸載可以在控制面板中的‘添加刪除’里面找到,卸載后,本地數(shù)據(jù)文件會被保留,如果不需要了,可刪除;
c. 程序不對注冊表做改動,所有文件都在一個目錄下面;
3. 運(yùn)行:
a. 安裝后,程序名稱為LingosHookApp,點(diǎn)擊運(yùn)行;
b. 程序執(zhí)行后,在保證Lingoes已經(jīng)運(yùn)行的情況下可以點(diǎn)擊主界面中的‘Hook’鍵,開始抓取Lingoes彈出窗口的查詢結(jié)果;
c. 也可以在‘Hook’后,使用熱鍵(缺省Ctrl+F10),抓取主界面中的查詢結(jié)果;
4.已知Bugs:
a. 無法抓取結(jié)果:多數(shù)可能是其它詞典結(jié)果干擾所致,此時設(shè)置Lingoes的詞典即可,一般是關(guān)閉使用‘在線’方式的詞典,最簡單的方法就是只使用Vicon詞典。。。(這個問題會盡快改掉,太不靠譜了。。。)
b. 點(diǎn)擊‘Unhook’鍵時,程序出錯:目前定位在卸載Hook動態(tài)庫有問題,要解決的話就是要不從來不點(diǎn)擊‘Unhook’,要不就出錯了,重啟LingosHook(也不靠譜。。。)
下面是前兩天寫的,因為沒啥太大變化,不重寫了。。。
LingosHook此次變化如下:
1. 通過解析HTML數(shù)據(jù)分析結(jié)果數(shù)據(jù);
2. 支持Hotkey方式截取Lingoes主窗口的結(jié)果;
3. 自動檢查Lingoes主窗口使用的語言,當(dāng)前僅支持中文和英文界面;
4. 可以刪除結(jié)果數(shù)據(jù)了(最基本的功能,只是上次忘記了。。。);
5. 輸入自動匹配;在輸入框輸入單詞時,能夠自動匹配最接近的單詞,并顯示結(jié)果;(看是基本功能,但Combobox控件還真不支持,只能自己寫。。。)
6. 新的參數(shù)配置,并且可以都保存了(基本功能,上次懶了。。。)
7. 增加了統(tǒng)計數(shù)據(jù);記錄了單詞的查詢時間和次數(shù),為以后可能的統(tǒng)計功能做準(zhǔn)備;
就上面這些了,這次改動還是挺多的,也練習(xí)了許多新的代碼,如HTML的解析,wxWidgets控件自定義事件消息(這個是為了實(shí)現(xiàn)ComboBox的自動匹配功能),等等。后面還有很多功能需要添加,如多詞典支持,當(dāng)前僅支持Lingoes默認(rèn)使用的Vicon E-C詞典(這個是體力活。。。),界面字體設(shè)置(缺省字體尺寸為8,太小了,現(xiàn)在放大到10了,但能夠設(shè)置才比較靠譜。),統(tǒng)計功能的展現(xiàn)等等,當(dāng)然,添加圖標(biāo)也是需要的,但我一直都沒搞明白原理。。。這次也省了先吧。。。
好了,傳圖,展示并當(dāng)幫助說明文檔了。
1.主界面

界面跟上次沒有變化,在左上側(cè)輸入框中可以輸入查詢的單詞,LingosHook將自動匹配最靠近的單詞,并顯示結(jié)果。相關(guān)功能為:
1. 在輸入框中輸入單詞后,若回車,LingosHook會將當(dāng)前輸入記錄在輸入框的下拉框中,方便下次使用,但并不保存輸入數(shù)據(jù),關(guān)閉即清除;
2. 選擇左側(cè)單詞列表框中的單詞,會在右側(cè)結(jié)果框中顯示結(jié)果;此時按下Ctrl鍵和Del鍵將刪除選定的單詞;
3. 右側(cè)結(jié)果框中顯示的結(jié)果為,單詞,音標(biāo),出處(詞典),詞類和解釋;其統(tǒng)計結(jié)果在Stats.項目里,默認(rèn)不顯示,可點(diǎn)開查看;
4. 右側(cè)輸入框下面Tab用于切換各顯示窗口;
5. 右下側(cè)的‘Hook’按鈕是LingosHook的最核心功能;按下此按鈕,LingosHook將Hook到Lingoes中,開始抓取查詢數(shù)據(jù),再次點(diǎn)擊將Unhook,LingosHook停止抓取。可反復(fù)點(diǎn)擊此按鈕,用于切換抓取和不抓取數(shù)據(jù)狀態(tài);若LingosHook Hook Lingoes失敗,如Lingoes未啟動,LingosHook將顯示一個‘Hook Failed.’的錯誤提示框。
2. HTML界面

3. 參數(shù)設(shè)置界面

此界面用于設(shè)置LingosHook的參數(shù),說明如下:
1. Lingoes Configuration - User Interface Language:用于設(shè)置當(dāng)前Lingoes使用的界面語言,默認(rèn)是自動檢測配置'Auto-Detect';當(dāng)前只支持中文和英文兩種界面;
2. System Configration - Use Hotky:此參數(shù)用于設(shè)置抓取Lingoes主窗口查詢數(shù)據(jù)的熱鍵,默認(rèn)開啟,熱鍵為Ctrl+F12,還可以設(shè)置為Alt+Ctrl+F12,Ctrl+F11,Alt+Ctrl+F11,Ctrl+F10以及Alt+Ctrl+F10;若關(guān)閉此參數(shù),即不使用熱鍵功能,將無法抓取Lingoes主窗口查詢數(shù)據(jù);
3. Debug Configure - Open Trace:此參數(shù)用于調(diào)試使用,當(dāng)開啟是,可在Trace界面中獲得在Lingoes中抓取的原始數(shù)據(jù);默認(rèn)此參數(shù)是關(guān)閉狀態(tài)的;
4. Apply按鈕:點(diǎn)擊此按鈕,將保存當(dāng)前配置,但當(dāng)前部分配置并不能馬上生效,需要重啟LingosHook;目前能實(shí)時生效的只有Open Trace配置。
4. Trace界面

此界面用于調(diào)試使用,可以查看從Lingoes抓取的原始數(shù)據(jù)。
介紹就這些,有問題請跟帖,安裝文件這里下載。嚴(yán)重提示--安裝前請殺毒。(我并不寫病毒,但網(wǎng)絡(luò)不安全,使用須謹(jǐn)慎啊。。。)