基于C#利用金山取词组件实现屏幕取词功能
这个程序在网上有很多例子,近期要做的项目中有和这个有某些一点点相似的地方,就练练,发现在本机上(Win 7 64位)不能实现其功能,可能原因是API组件太老了吧,毕竟金山大佬公布他的组件是2005年,但是写的程序能在XP/Win 32上跑。
源码下载:https://files.cnblogs.com/chenyongblog/%E5%B1%8F%E5%B9%95%E5%8F%96%E8%AF%8D.zip
1 namespace 屏幕取词 2 { 3 public partial class Form1 : Form,IXDictGrabSink 4 { 5 public Form1() 6 { 7 InitializeComponent(); 8 } 9 //实现接口 10 int IXDictGrabSink.QueryWord(string WordString,int lCursorX,int lCursorY,string SentenceString,ref int lLoc,ref int lStart ) 11 { 12 //鼠标坐标 13 this.txtX.Text = "X轴:" + lCursorX.ToString(); 14 this.txtY.Text = "Y轴:" + lCursorY.ToString(); 15 //鼠标附近的词 16 this.txtWord.Text = SentenceString; 17 return 1; 18 } 19 private void Form1_Load(object sender, EventArgs e) 20 { 21 GrabProxy gp = new GrabProxy(); 22 //设置取词时间间隔 23 gp.GrabInterval = 1; 24 //设置取词的属性 25 gp.GrabMode = XDictGrabModeEnum.XDictGrabMouse; 26 //取词 27 gp.GrabEnabled = true; 28 gp.AdviseGrab(this); 29 } 30 31 } 32 }