需求:鼠标指在屏幕的任何一个位置时,把该位置所在的单词或汉字的词取出来.
并向用户显示结果.
问题:我们的组员都不会VC++.而这个貌似简单的问题,实际是很困难的.需要调用
WIN32底层的API.
解决方案:既然自己不行,便考虑使用开源组件,金山词霸中有一个文件"XDictGbr.dll".
我们在C#的工程中将其添加至引用.
并加入适当代码.相关代码如下:
public
partial
class
MotherForm : Form, IXDictGrabSink
{
GrabProxy gp = new GrabProxy();
public MotherForm()

{
InitializeComponent();
}

//接口的实现
int IXDictGrabSink.QueryWord(string WordString, int lCursorX, int lCursorY, string SentenceString, ref int lLoc, ref int lStart)

{

this.textBox1.Text = SentenceString;
//this.textBox1.Text = SentenceString.Substring(lLoc + 1,1);//鼠标所在字符
//Form form = new Form();
//form.Show();
return 1;
}

private void MotherForm_Load(object sender, EventArgs e)

{
gp.GrabEnabled = true;//是否取词的属性
gp.GrabInterval = 1;//指抓取时间间隔
gp.GrabMode = XDictGrabModeEnum.XDictGrabMouse;//设定取词的属性
gp.AdviseGrab(this);
}

以上这段代码只实现了从屏幕鼠标所在位置取一段句子,
还未实现取出客户最可能需要的单词或汉字的词.