C#怎么实现金山词霸取词功能[Ctrl+Alt+F1] C#怎么实现金山词霸取词功能[Ctrl+Alt+F1]当同时按下[Ctrl+Alt+F1]时,无论鼠标焦点在哪里,金山词霸都能捕捉到消息,请问达人们,怎么实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个需要比较底层的操作,像系统挂钩、拦截API什么的,这些好像是用C#无法实现的 一个简单的办法是用金山词霸的dll,参看http://www.cnblogs.com/hakuci/articles/1131896.html我试了试,基本能用 直接拿金山词霸自带的DLL弄就可以了。我很久以前弄过一个玩玩。呵呵 在金山词霸中2005(或者2007)中带了一个XdictGrb.dll,添加引用废话不多说了,还是把源码放上using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Text;using System.Windows.Forms;using XDICTGRB;//金山词霸组件namespace WindowsApplication1{ public partial class Form1 : Form,IXDictGrabSink { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { GrabProxy gp = new GrabProxy(); gp.GrabInterval = 1;//指抓取时间间隔 gp.GrabMode = XDictGrabModeEnum.XDictGrabMouse;//设定取词的属性 gp.GrabEnabled = true;//是否取词的属性 gp.AdviseGrab(this); } //接口的实现 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);//鼠标所在字符 return 1; } }} 委托和事件 如何将通过教师ID查询到的信息放到各个教师信息的textbox中? 自己写的一个屏幕锁定程序有点小问题,请教一下 切以为是因为c#回收引起的问题,请各位不吝指教 用C#编写com+,求有关书籍资料,或者视频之类 一个传入对象的问题 大家都用c#做哪方面的应用,顺便散分? 各位大侠,用Jmail组件如何实现群发啊?? DataTable快速导出 如何将datagrid中选中的多条记录提取出来?谢谢! 输出文本排版!!! 在窗体OnPaint事件内重绘窗体颜色时发生的问题
我试了试,基本能用
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.Windows.Forms;
using XDICTGRB;//金山词霸组件namespace WindowsApplication1
{
public partial class Form1 : Form,IXDictGrabSink
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
GrabProxy gp = new GrabProxy();
gp.GrabInterval = 1;//指抓取时间间隔
gp.GrabMode = XDictGrabModeEnum.XDictGrabMouse;//设定取词的属性
gp.GrabEnabled = true;//是否取词的属性
gp.AdviseGrab(this);
}
//接口的实现
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);//鼠标所在字符
return 1;
}
}
}