c 螢幕取詞的方法(載)

2021-04-13 09:04:54 字數 1758 閱讀 8407

a、金山詞霸元件法

在金山詞霸中2005中帶了乙個xdictgrb.dll,新增引用

(為方便大家測試,本人安裝了金山詞霸2005,把其中的xdictgrb.dll

廢話不多說了,還是把原始碼放上

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.text;

using system.windows.forms;

using xdictgrb;//金山詞霸元件

b.nhw32.dll法

這個是c++寫的乙個元件

nhw32.dll 主要引出兩個函式:

1. dword winapi bl_setflag32(uint nflag,

hwnd hnotifywnd,

int mou***,

int mousey)

功能:啟動或停止取詞。

引數:nflag

[輸入] 指定下列值之一:

getword_enable: 開始取詞。在重畫被取單詞區域前設定此標誌。nhw32.dll是通過

重畫單詞區域,擷取textouta, textoutw, exttextouta,

exttextoutw等windows api函式的引數來取詞的。

getword_disable: 停止取詞。

hnotifywnd

[輸入] 通知視窗控制代碼。當取到此時,向該通知視窗傳送一登記訊息:gwmsg_getwordok。

mou***

[輸入] 指定取詞點的x座標。

mousey

[輸入] 指定取詞點的y座標。

返回值:

可忽略。

2. dword winapi bl_gettext32(lpstr lpszcurword,

int nbuffersize,

lprect lpwordrect)

功能:從內部緩衝區取出單詞文字串。對英語文字,該函式最長取出一行內以空格為界的三個英文單詞串,遇空格,非英文本母及除『-』外的標點符號,則終止取詞。對漢字文字,該函式最長取出一行漢字串,遇英語字母,標點符號等非漢語字元,則終止取詞。該函式不能同時取出英語和漢語字元。

引數:lpszcurword

[輸入] 目的緩衝區指標。

nbuffersize

[輸入] 目的緩衝區大小。

lpwordrect

[輸出] 指向 rect 結構的指標。該結構定義了被取單詞所在矩形區域。

返回值:

當前游標在全部詞中的位置。

此外,winnt/2000版 nhw32.dll 還引出另兩個函式:

1. bool winapi setnhw32()

功能:win nt/2000 環境下的初始化函式。一般在程式開始時,呼叫一次。

引數:無。   

返回值:

如果成功 true ,失敗 false 。

2. bool winapi resetnhw32()

功能:win nt/2000 環境下的去初始化函式。一般在程式結束時呼叫。

引數:無。   

返回值:

如果成功 true ,失敗 false 。

載自:http://blog.csdn.net/jxncwzb/archive/2006/07/11/904807.aspx

感謝作者tag

C 螢幕取詞

網上找來的.其實實現應該不複雜的 方案一,我們利用現成的東西,which?金山詞霸 利用金山詞霸中的xdictgrb.dll,新增引用 然後下面是 using system using system.collections.generic using system.componentmodel us...

Linux 下的螢幕取詞技術

於明儉 螢幕取詞即當滑鼠在應用軟體所顯示中 英文的地方滑過,則有一小視窗 出現在離單詞附近,上面出現滑鼠下面單詞的解釋.螢幕取詞以前一直是 ms windows的 專利 但是在turbolinux上,turbolinux的研發者以其 新穎的思維,獨創的精神,完美地實現了這一技術.它是已經遙遙領先的 ...

c 實現金山詞霸一樣的螢幕取詞

c 螢幕取詞 想做金山詞霸一樣的螢幕取詞 告訴你兩個方法 第一 在金山詞霸中2005中帶了乙個xdictgrb.dll,新增引用 然後下面是 using system using system.collections.generic using system.componentmodel using...