C 螢幕取詞

2021-05-22 13:15:26 字數 1910 閱讀 9476

網上找來的..其實實現應該不複雜的

方案一,我們利用現成的東西,which? 金山詞霸

利用金山詞霸中的xdictgrb.dll,新增引用

然後下面是**

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.text;

using system.windows.forms;

using xdictgrb;//金山詞霸元件

namespace crazycoder.cn.test

private void form1_load(object sender, eventargs e)

//介面的實現

int ixdictgrabsink.queryword(string wordstring, int lcursorx, int lcursory, string sentencestring, ref int lloc, ref int lstart)

} }

方案二:

system32/nhw32.dll 有這麼乙個dll

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 。

c 螢幕取詞的方法(載)

a 金山詞霸元件法 在金山詞霸中2005中帶了乙個xdictgrb.dll,新增引用 為方便大家測試,本人安裝了金山詞霸2005,把其中的xdictgrb.dll 廢話不多說了,還是把原始碼放上 using system using system.collections.generic using ...

Linux 下的螢幕取詞技術

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

ubuntu下安裝螢幕取詞軟體記錄

說明 ubuntu18.04 1.第乙個嘗試的是有道詞典,官方有給.deb包,不過在實際安裝的時候,會提示缺乏依賴包,於是我把開始安裝缺乏的依賴包,不過遇到問題,就是有幾個包已經被丟棄了。顯然有道官方雖然提供.deb包,但後續沒有很好的去維護。所以先放棄這個了。ps 當然也有些提供了一些即使缺少依賴...