運用金山詞霸元件開發屬於自己的螢幕取詞模組

2021-05-07 14:38:52 字數 2633 閱讀 9550

本軟體是基於金山詞霸元件進行com開發,

所以需要你的機子上要裝有金山詞霸軟體

! 使用金山詞霸的螢幕取詞功能(xdictgrb.dll)

1、介面

1.1 grabproxy取詞**物件

function advisegrab(xdictgrabsink as ixdictgrabsink) as long

廣播乙個xdictgrabsink

(如果要實現取詞功能,你需要自己來實現這個介面,具體的方法後面會有介紹。(

visual basic

的示例,使用其他語言類似)) 介面,在需要取詞的時候會呼叫

xdictgrabsink

的queryword

方法,你可以在這裡實現你需要的功能。

property grabenabled as boolean   是否取詞的屬性

property grabmode as xdictgrabmodeenum

設定取詞的屬性,xdictgrabflagenum

的定義後面會講到。

property grabflag as xdictgrabflagenum

設定取詞健,比如是否要結合ctrl

或者shift.

property grabsystemcp as long

這個屬性暫時不太清楚。

sub grabword(lcursorx as long, lcursory as long)

取x,y

座標的詞,估計是螢幕座標。

sub unadvisegrab(lcookie as long)

取消對xdictgrabsink

介面的廣播。

property xdictgrabplugins as ipluginscollection

返回乙個ipluginscollection

集合。

1.2  ipluginscollection外掛程式集合物件

其中實現了乙個外掛程式的框架,但是如果只是要實現螢幕取詞功能,也可以暫時不使用外掛程式功能。

1.3  ixdictgrabplugin外掛程式介面

1.4  ixdictgrabrot介面

名字不太明白是什麼意思,用來註冊和反註冊外掛程式。

1.5  ixdictgrabsink

自己要實現的介面,參見後面的例子。

function queryword(wordstring as string, lcursorx as long, lcursory as long, sentencestring as string, lloc as long, lstart as long) as long

可以在這個方法中實現你自己要做的功能,wordstring

引數應該是鼠 標所在處的單詞,

lcursorx

是滑鼠當前

x座標,

lcursory

是滑鼠當前

y座標,

sentencestring 

是滑鼠所在處整個句子,

lloc

是滑鼠所在處的字在整個句子中的位置,下標從

0開始。

lstart

暫時不太清楚。

2、常量定義

2.1 xdictgrabflagenum

const xdictgrabdisablebutton= 4

不取按鈕上的文字

const xdictgrabdisablecaption= 8

不取標題欄的文字

const xdictgrabdisablemenu= 2

不取選單的文字

const xdictgrabonlyenglish= 1

只取英文

以上幾個常量可以用與(and)

的方式進行組合。

2.2  xdictgrabmodeenum

const xdictgrabmouse= 1

使用滑鼠取詞

const xdictgrabmousewithctrl= 3

使用滑鼠加ctrl取詞

const xdictgrabmousewithmiddlebutton= 4

使用滑鼠加滑鼠中鍵進行取詞

const xdictgrabmousewithshift= 2

使用滑鼠加shift

進行取詞

2.3  enum xdictgrabpluginpriorityenum設定外掛程式的優先順序

const xdictgrabprioritychief= 4

const xdictgrabprioritygeneral= 1

const xdictgrabprioritynormal= 2

const xdictgrabpriorityspecial= 3

3、**實現:

//函式功能:初始化螢幕取詞;

bool  tgetword::initialize()

else

return  true; }

//程式介面如下:

stdmethodimp mysink::queryword(bstr wordstring, long lcursorx, long lcursory, bstr sentencestring, long *lloc, long *lstart)

python呼叫金山詞霸的api

python環境 requests庫 原理 通過requests的傳送get請求,然後解析返回的資料。具體的描述如上圖。import requests import json header response requests.get url params headers header date引數為...

linux下類似金山詞霸的翻譯軟體

http os.51cto.com 2010 03 17 16 25 佚名 linux 以 下主要講述怎麼在linux下可以使用startdict代替windows下的金山詞霸,肯定又不知道的朋友,希望不知道的朋友看到後能學會。在 linux下可以使用startdict代替windows下的金山詞霸...

用金山詞霸的dll檔案實現螢幕取詞 vb

引用xdictgrb.dll,自己到詞霸目錄找。嚴重注意 要金山詞霸2005的版本中的dll,2003版的我未測試成功。新建專案,在新窗體中新增3個label,名稱預設。窗體中 如下 option explicit implements ixdictgrabsink private gp as gr...