再问屏幕取词(200)

  • 主题发起人 jacktiger
  • 开始时间
J

jacktiger

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好。最近做一个屏幕取词的程序,从以前的DFW的帖子里找了一个屏幕取词的例子,在D2009下稍微改了改也能使用。但取词的时候发现取中文不太准确,比如取菜单文字"文件(F)",再取一个名为"开发环境"的文件夹名,结果却成了"开发环境F)"。另外一个巨不爽的问题取词过程中经常出现windows系统错误,据说是跟开启杀毒软件有关,因为取词本事调用钩子函数有个注入的过程,是否是这样?如何能够避免呢?像金山词霸和一堆大大小小的字典软件是怎么做到不被杀毒软件报警的呢?
 
我用金山词霸时,瑞星也会提示一下。
 
我现在是直接报系统错误后程序被终止。
 
至于你说的F问题:Var tms:string;beginsetlength(tms,168);fillchar(tms[1],168,0);// 必须每次取词前取词(@tms[1]);//调用你的取词函数tms:=string(pchar(tms[1]));// tms为取词返回结果;end;
 
稍后我试验一下。不过有什么理由吗?为什么一定是168长度?
 
不一定是168,尽可能装下特别长的字符时用到(容错)!另外加0后再String那么取词后可以得到完整的字符,以前留在TmS的字符就不会出现了!
 
你把我,招聘到你们单位去吧 我给你实现
 
我没有单位。
 
顶部