szkafuka 发表于 2008-11-26 17:09:24

屏幕取词

想写个小软件,其中有一项功能是屏幕取词,金山词霸里有个控件XdictGrb.dll,
该控件有个函数QueryWord可以获得屏幕上的字符串,字符串不是函数的返回值,而是在参数中获得,我写了以下代码却无法实现,求高手指点一下。(还没有没有其他途径)


Func GetText()       
    $mytext ="111"
    $dll = DllOpen("XdictGrb.dll")
    $i = DllCall("XdictGrb.dll","int","QueryWord","str","","int",100,"int",100,"str",$mytext,"int",10,"int",10)
    DllClose($dll)       
    MsgBox("","",$mytext);       
EndFunc

yiqi 发表于 2008-11-26 17:53:47

路过 进来坐坐

szkafuka 发表于 2008-11-27 09:27:03

没人回答么?顶一下

sanhen 发表于 2008-11-27 13:32:28

你能查到函数原型?

szkafuka 发表于 2008-11-27 17:39:05

回总管,函数原型为

function   QueryWord(const   WordString:   WideString;   lCursorX,
    lCursorY:   Integer;   const   SentenceString:   WideString;   var   lLoc,
    lStart:   Integer):   Integer;

SentenceString就是从屏幕上取到的文字

szkafuka 发表于 2008-11-27 17:40:44

http://www.cnblogs.com/wf5360308/articles/1304758.html,另外的帖子,供总管参考,谢谢!!!

ainizm 发表于 2008-11-27 19:38:10

这个功能高级,研究出来要分享哦。。。。

superflq 发表于 2008-11-28 12:15:42

支持,谢谢楼主分享

szkafuka 发表于 2008-11-30 10:47:03

目前在autoIT里无法解决,只好另写了个VB程序(该程序调用XdictGrb.dll后,把屏幕上取得的字符串保存在剪贴板中),autoIT调用它后就可以从剪贴板中获得。

gooker 发表于 2008-11-30 11:44:55

dll没有 这个函数

316428696 发表于 2010-1-25 12:25:31

我也在做这个功能,不过好像调用金山的dll 会侵权,所以自己也就放弃使用这个dll了,打算用自己的办法来做!

llztt 发表于 2010-1-25 13:26:22

呵呵,你好严谨,我在偷偷用QQ的那个截图DLL呢,哈哈
页: [1]
查看完整版本: 屏幕取词