如何即时翻译窗口、文本上的内容? |
答題得分者是:jessechan
|
I_Love_You
一般會員 發表:18 回覆:87 積分:21 註冊:2002-07-24 發送簡訊給我 |
|
jessechan
版主 發表:109 回覆:394 積分:254 註冊:2002-04-05 發送簡訊給我 |
|
I_Love_You
一般會員 發表:18 回覆:87 積分:21 註冊:2002-07-24 發送簡訊給我 |
|
I_Love_You
一般會員 發表:18 回覆:87 積分:21 註冊:2002-07-24 發送簡訊給我 |
|
jessechan
版主 發表:109 回覆:394 積分:254 註冊:2002-04-05 發送簡訊給我 |
引言: 非常感谢jessechan版主的回应,谢谢! 我以前有听人说过可以利用HOOK来实现,而且我也有查过MSDN, 但是还是没有一个头绪,可否恳请您和其他大大们再详细的 指点指点,我现在有点是丈二和尚摸不著头脑,恳请大家帮帮忙,谢谢!!!用 hook 的方法寫起來要一大篇, 我先說一個簡單的方法, 就是用 WindwoFromPoint 來抓取現在鼠標所在位置視窗的 handle, 然後用 GetWindowText 來抓文字內容作必要的處理, 但是有一個重大的缺點就是只能抓有 handle 的控件, 換句話說就是繼承自 TWinControl, 不能抓 Label 的字. Hook 部份不知 RaynorPao 兄有沒有時間代打一下. 如果不行的話我大概後天才有空回答這部份, 天啊, 要解釋 hook, 以這個例子還要說明如何 maintain virtual screen, 還要寫 sample 加測試, 我才疏學淺, 真的要一段時間. Jesse Chan 發表人 - jessechan 於 2003/03/10 23:02:56
------
Jesse Chan |
I_Love_You
一般會員 發表:18 回覆:87 積分:21 註冊:2002-07-24 發送簡訊給我 |
|
jessechan
版主 發表:109 回覆:394 積分:254 註冊:2002-04-05 發送簡訊給我 |
引言: 再次感谢jessechan 版主的回应,您说的这个方法的确有一定的局限性, 他对一般操作是可以的,但并没有完全达到我说的情况,看来只有用您 指点的HOOK来实现了。 让您费心真的是过于不去,如果您真的空闲时间,就帮帮忙吧,不光我 一个人收益,而且会有千千万万个不会这方面知识的人感激您的,在这里 先说声谢谢,辛苦您了。 也恳请知道这方面情况的大大们,给点意见或资料,小弟感激不尽,谢谢!可否給我點時間, 最近 case 很緊, 一直出差, 我大概 weekend 才有空. Jesse Chan
------
Jesse Chan |
I_Love_You
一般會員 發表:18 回覆:87 積分:21 註冊:2002-07-24 發送簡訊給我 |
|
jessechan
版主 發表:109 回覆:394 積分:254 註冊:2002-04-05 發送簡訊給我 |
引言: 让jessechan版主费心了,谢谢!!! 下周等您的好消息(不要忙坏身体喔)。不好意思, 這兩天忙著帶小孩, 還是沒空回覆, 請先參考這幾篇文章, 我想可以使你對 hook 的觀念有一個清楚的了解, http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19936 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26453 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19406 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/setwindowshookex.asp 要做到你說的功能, 除了要知道 hook 外, 我再給個提示, 你要攔截所有有關文字輸出的訊息, 並把每個文字輸出的 Rect 記錄下來, 在你的例子中最難的要算是抓 menu 的文字了, 其次當 mouse 移動到某一座標並停留一定時間時, 就以這個座標和現存的 Rect 組做比對, 以便知道目前 mouse 指向那個文字, 這裡有一個要注意的地方就是 maintain 你的 Rect 陣列需要十分細心, 這部份很容易出錯, 要隨時把已被蓋掉部份的記憶體釋放出來, 以免一來系統資源耗盡, 我想以上已經提供了足夠的資訊讓你完成這個需求, 剩下的要你自己下功夫了, 學任何東西一定有門檻, 所以要花些心思去讀懂, 不要覺得煩, 如果你是一個軟體設計的工作者, 遇到這樣的難題應該感到高興, 東西越難表示會的人越少, 如果你把它弄懂了, 你的價值自然會顯現出來. Jesse Chan
------
Jesse Chan |
I_Love_You
一般會員 發表:18 回覆:87 積分:21 註冊:2002-07-24 發送簡訊給我 |
|
jessechan
版主 發表:109 回覆:394 積分:254 註冊:2002-04-05 發送簡訊給我 |
|
I_Love_You
一般會員 發表:18 回覆:87 積分:21 註冊:2002-07-24 發送簡訊給我 |
|
jessechan
版主 發表:109 回覆:394 積分:254 註冊:2002-04-05 發送簡訊給我 |
|
I_Love_You
一般會員 發表:18 回覆:87 積分:21 註冊:2002-07-24 發送簡訊給我 |
|
jessechan
版主 發表:109 回覆:394 積分:254 註冊:2002-04-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |