教育微言大义:金山词霸”屏幕取词技术揭密(讨论稿) - yaodong - 博客堂

来源:百度文库 编辑:中财网 时间:2024/04/29 23:17:59
金山词霸”屏幕取词技术揭密(讨论稿)  这篇文章最早是发在北极星论坛的一系列帖子,那时候闻怡洋(好像他也是MVP)也在那里混原始的帖子我已经没有了,但不知道是谁帮我收集整理了下来(非常感谢),我用google找到了这是我进金山之前写的,应该不算泄露公司技术秘密吧 而且这些现在看来似乎已经有些过时了那时讨论的只是Win31和Win9x下的取词实现我到了金山之后不是负责取词模块,而是做UI,因为有个家伙比我更擅长做这种东西他用SoftIce调试汇编代码非常熟练,做逆向工程方面有过人的天分。“亦东” 是我那时的笔名“金山词霸”屏幕取词技术揭密(讨论稿) 主题  屏幕取词技术系列讲座(一)
作者   亦东 很多人对这个问题感兴趣。
原因是这项技术让人感觉很神奇,也很有商业价值。
现在词典市场金山词霸占了绝对优势,所以再做字典也没什么前途了。我就是这么认为的,所以我虽然掌握了这项技术,却没去做字典软件。只做了一个和词霸相似的软件自己用,本来想拿出来做共享软件,但我的词库是“偷”来的,而且词汇不多,所以也就算了,词库太小,只能取词有什么用呢?而且词霸有共享版的。
但既然很多人想了解这项技术,我也不会保留。我准备分多次讲述这项技术的所有细节。
大约每周一两次。想知道的人就常常来看看吧! 一.基础知识
首先想编这种程序需要一些基础知识。
会用Vc++,包括16/32位。
精通Windows API特别是GDI,KERNEL部分。
懂汇编语言,会用softice调试程序,因为这种程序最好用softice调试。 二.基本原理
在Window 3.x时代,windows系统提供的字符输出函数只有很少的几个。
TextOut
ExtTextOut
DrawText
......
其中DrawText最终是用ExtTextOut实现的。 所以Windows的所有字符输出都是由调用TextOut和ExtTextOut实现的。因此,如果你可以修改这两个函数的入口,让程序先调用你自己的一个函数再调用系统的字符输出,你就可以得到Windows所有输出的字符了。 到了Windows95时代,原理基本没变,但是95比3.x要复杂。开始的时候,一些在windows3.x下编写的取词软件仍然可以是使用。但是后来出了个IE4,结果很多词典软件就因为不支持IE4而被淘汰了,但同时也给一些软件创造了机会,如金山词霸。其实IE4的问题并不复杂,只不过它的输出的是unicode字符,是用TextOutW和ExtTextOutW输出的。知道了这一点,只要也截取就可以了。不过实现方法复杂一点,以后会有详细讲解。现在又出了个IE5,结果词霸也不好用了,微软真是#^@#$%$*&^&#@#@..........
我研究后找到了一种解决办法,但还有些问题,有时会取错,正在继续研究,希望大家共同探讨。 另外还有WindowsNT,原理也是一样,只是实现方法和95下完全不同。 三.技术要点
要实现取词,主要要解决以下技术问题。
1.截取API入口,获得API的参数。
2.安全地潜入Windows内部,良好地兼容Windows的各个版本
3.计算鼠标所在的单词和字母。
4.如果你在Window95下,做32位程序,还涉及Windows32/16混合编程的技术。 今天先到这里吧!最好准备一份softice for 95/98和金山词霸,让我们先来分析一下别人是怎么做的。 欢迎与我联系
E-Mail:yeedong@163.net 主题  屏幕取词技术系列讲座(二)
作者   亦东 很抱歉让大家久等了!
我看了一些人的回帖,发现很多人对取词的原理还是不太清楚。
首先我来解释一下hook问题。词霸中的确用到了hook,而且他用了两种hook其中一种是Windows标准hook,通过SetWindowHook安装一个回调函数,它安装了一个鼠标hook,是为了可以及时响应鼠标的消息用的和取词没太大关系。
另一种钩子是API钩子,这才是取词的核心技术所在。他在TextOut等函数的开头写了一个jmp语句,跳转到自己的代码里。
你用softice看不到这个跳转语句是因为它只在取词的一瞬间才存在,平时是没有的。
你可以在TextOut开头设一个读写断点
bpm textout
再取词,就会找到词霸用来写钩子的代码了。 /**********************************
所以我在次强调,想学这种技术一定要懂汇编语言和熟练使用softice.
**********************************/ 至于从cjktl95中dump出来的未公开函数是和Windows32/16混合编程有关的,以后我会提到他们。 我先来讲述取词的过程, 0 判断鼠标是否在一个地方停留了一段时间
1 取得鼠标当前位置
2 以鼠标位置为中心生成一个矩形
3 挂上API钩子
4 让这个矩形产生重画消息
5 在钩子里等输出字符
6 计算鼠标在哪个单词上面,把这个单词保存下来
7 如果得到单词则摘掉API钩子,在一段时间后,无论是否得到单词都摘掉API钩子
8 用单词查词库,显示解释框。 很多步骤实现起来都有一些难度,所以在中国可以做一个完善的取词词典的人屈指可数。 其中0,1,2,7,8比较简单就不提了。 先说如何挂钩子
所谓钩子其实就是在WindowsAPI入口写一个JMP XXXX:XXXX语句,跳转到自己的代码里。 步骤如下:
1.取得Windows API入口,用GetProcAddress实现
2.保存API入口的前五个字节,因为JMP是0xEA,地址是4个字节
3.写入跳转语句
这步最复杂
Windows的代码段本来是不可以写的,但是Microsoft给自己留了个后门。
有一个未公开函数是AllocCsToDsAlias,
UINT WINAPI ALLOCCSTODSALIAS(UINT);
你可以取到这个函数的入口,把API的代码段的选择符(要是不知道什么是选择符,就先去学学保护模式编程吧)传给他,他会返回一个可写的数据段选择符。这个选择符用完要释放的。用新选择符和API入口的偏移量合成一个指针就可以写windows的代码段了。 这就是取词技术的最核心的东东,不止取词,连外挂中文平台全屏汉化都是使用的这种技术。现在知道为什么这么简单的几句话却很少知道了吧?因为太多的产品使用他,太多的公司靠他赚钱了。
这些公司和产品有:中文之星,四通利方,南极星,金山词霸,实达铭泰的东方快车,roboword,译典通,即时汉化专家等等等等。。。。还有至少20多家小公司。他们的具体实现虽然不同,但大致原理是相同的。 我这些都是随手写的,也没有提纲之类的东西,以后如果有机会我会整理一下,大家先凑合着看吧!xixi... 主题  关于屏幕取词的讨论(三)
作者   亦东
让大家久等,很抱歉,前些时候工作忙硬盘又坏了,太不幸了。 这回来点真格的。 咱们以截取TextOut为例。 下面是代码: //截取TextOut typedef UINT (WINAPI* ALLOCCSTODSALIAS)(UINT); ALLOCCSTODSALIAS AllocCsToDsAlias; BYTE NewValue[5];//保存新的入口代码
BYTE OldValue[5];//API原来的入口代码
unsigned char * Address=NULL;//可写的API入口地址
UINT DsSelector=NULL;//指向API入口的可写的选择符
WORD OffSetEntry=NULL;//API的偏移量 BOOL bHookAlready = FALSE; //是否挂钩子的标志 BOOL InitHook()
{
HMODULE hKernel,hGdi;
hKernel = GetModuleHandle("Kernel");
if(hKernel==NULL)
return FALSE; AllocCsToDsAlias = (ALLOCCSTODSALIAS)GetProcAddress(hKernel,"AllocCsToDsAlias");//这是未公开的API所以要这样取地址
if(AllocCsToDsAlias==NULL)
return FALSE; hGdi = GetModuleHandle("Gdi");
if(hmGdi==NULL)
return FALSE; FARPROC Entry = GetProcAddress(hGdi,"TextOut");
if(Entry==NULL)
return FALSE; OffSetEntry = (WORD)(FP_OFF(Entry));//取得API代码段的选择符
DsSelector = AllocCsToDsAlias(FP_SEG(Entry));//分配一个等同的可写的选择符
Address = (unsigned char*)MK_FP(DsSelector,OffSetEntry);//合成地址 NewValue[0]=0xEA;
*((DWORD*)(NewValue+1)) = (DWORD)MyTextOut; OldValue[0]=Address[0];
*((DWORD*)(OldValue+1)) = *((DWORD*)(Address+1));
} BOOL ClearHook()
{
if(bHookAlready)
HookOff(); FreeSelector(DsSelector);
} BOOL HookOn()
{
if(!bHookAlready){
for(int i=0;i<5;i++){
Address[i]=NewValue[i];
}
bHookAlready=TRUE;
}
} BOOL HookOff()
{
if(bHookAlready){
for(int i=0;i<5;i++){
Address[i]=OldValue[i];
}
bHookAlready=FALSE;
}
} //钩子函数,一定要和API有相同的参数和声明
BOOL WINAPI MyTextOut(HDC hdc,int nXStart,int nYStart,LPCSTR lpszString,UINT cbString)
{
BOOL ret;
HookOff();
ret = TextOut(hdc,nXStart,nYStart,lpszString,cbString);//调原来的TextOut
HookOn();
return ret;
} 上面的代码是一个最简单的挂API钩子的例子,我要提醒大家的是,这段代码是我凭记忆写的,我以前的代码丢了,我没有编译测试过
因为我没有VC++1.52.所以代码可能会有错。 建议使用Borland c++,按16位编译。
如果用VC++1.52,则要改个选项 在VC++1.52的Option里,有个内存模式的设置,选大模式,和"DS!=SS DS Load on Function entry.",切记,否则会系统崩溃。 有什么不明白的可以给我写信
yeedong@163.net

打印 | posted on 2004年6月23日 19:18 | | 收藏本页 (百度搜藏)(QQ书签)(Live收藏)(Google书签)(Yahoo书签)(新浪ViVi)(搜狐网摘)(365Key网摘)(天极网摘)(博采网摘)(和讯网摘)

反馈

# 回复: 金山词霸”屏幕取词技术揭密(讨论稿) nice2004/6/24 10:28 | heihei # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 你就是亦东啊。。。。
差不多这个好像就是最古老的介绍取词的文章了~
老兄多大年龄了?2004/6/24 15:12 | rivershan # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 唉~~,已经而立之年了2004/6/24 15:17 | yaodong # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 厉害!2004/6/25 15:18 | 阿赖.COM # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 强啊2004/6/25 23:56 | ceocio # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 我看过很多次。不错。
你应该是那种喜欢挑战的人吧?
给你一个我觉得比较麻烦一点的东西
屏幕取词对LTR语言不怎么麻烦但是对RTL(像Arabic,Hebro...)就不一样了。有很多问题在内。
有兴趣的话去试试看或者告诉你们“金山”的人试试对RTL语言实现屏幕取词。
好像还没有软件能那样做。我只知道阿拉伯语还没有这样的软件,至于其它RTL语言我就不太清楚。。
Best regards,
CIONO12004/7/1 10:05 | kcahcn # re: 金山词霸”屏幕取词技术揭密(讨论稿) 牛啊!
不知有没有现成的库 DLL 可以直接调用, 自己花力气写太麻烦.
如果那位有现成的 CODE (FOR WIN-XP,2K, IE6), 不知可否 传给我.
当然, 你不会白传的. (VMC_888@YAHOO.COM)
2004/7/21 12:17 | 新手 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 很有启发性, 我这两天在研究直接通过程序向金山词库查词的方法. 可以基础太差了, 没办法做下去, 看了你的文章似乎又懂了一些. 但又不太懂, 我看似乎是normgrab.dll这个东东是查词的关键, 用软件查看就只有InitHookDll 和 CleanupHookDll这两个入口, 但弄不懂怎样用啊. 请指教2004/11/22 12:09 | kety # 关于屏幕取词的问题(转) Ping Back来自:blog.csdn.net2004/11/26 16:00 | RaoX # re: 金山词霸”屏幕取词技术揭密(讨论稿) 估计实际过程可能是内核为TEXTOUT的物理地址所在的页面构造一个新的可写的页表项,从程序的角度讲也就是获得了一个新的线形地址,可以从新的可写的页表访问同一个物理地址2004/12/24 14:07 | RED17 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 金山词霸的词库加密吗??

是什么格式的??

谢谢2004/12/26 1:25 | ?? # re: 金山词霸”屏幕取词技术揭密(讨论稿) 给api下钩子只能算是小技巧而已。不知作者能否解释一下钩子的原理,以及为什么全局挂钩只能实现为dll形式?另外词霸的取词速度尚可,不知实现上有什么技巧?2005/2/3 13:44 | passer # re: 金山词霸”屏幕取词技术揭密(讨论稿) 在没有弄懂之前,我也觉得很复杂,有一天我忽然钝悟,才发觉原来如此简单,真的是大道自然啊。
我现在的取词功能已经接近金山词霸了,只是不能取pdf,其它方面和金山词霸没什么区别。
我现在把这个取词功能运用到了我的一个软件中。
如果我的软件销量不好,我就准备把取词程序公开。
我的email:linsen633@sohu.com2005/2/10 19:33 | gudu # re: 金山词霸”屏幕取词技术揭密(讨论稿) 如果我公布,你看了代码后会觉得太简单了。2005/2/10 19:44 | gudu # re: 金山词霸”屏幕取词技术揭密(讨论稿) 能不能用VB实现屏幕取词2005/3/18 16:01 | 王强 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 正在做一个使用取词的小软件,能否告知一二,谢谢。主要是应用2005/5/4 9:24 | yuanzi gudu # 金山词霸”屏幕取词技术揭密(讨论稿) Ping Back来自:blog.csdn.net2005/6/20 0:37 | 土星站了一晚 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我有一个DLL
但好像不能取"金山词霸"的取词框
不知能否告知为什么?2005/8/6 16:54 | sun201201 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 请问如何取到词霸即时翻译的提示框内的词呢?2005/8/18 11:43 | abc # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我能取到2005/9/3 23:05 | king # re: 金山词霸”屏幕取词技术揭密(讨论稿) 想问一下各位高手,为什么windows xp sp2和金山词霸屏幕取词有冲突呢,windows总是报错,应该怎样解决?谢谢2005/9/26 14:43 | 我我 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 请问如何取到词霸即时翻译的提示框内的词???有谁能知道??
联系方式:sun201201@126.com2005/9/27 22:52 | sun # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我做的取词怎么与金山词霸相冲突呢???
没打开金山词霸的时候运行完好
打开金山词霸,取第一次词完全可以,当取第二次的时候
就出现错误了
为什么啊?
2005/10/2 12:58 | sun201201 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我的系统是xp的,但为什么不能用金山词霸的屏幕取词功能--一打开金山词霸的屏幕取词功能,屏幕只要鼠标有移动就立即刷屏。请教!十万火急....
有谁知道的发我Email:jxz919@163.com2005/10/6 20:30 | jiang # re: 金山词霸”屏幕取词技术揭密(讨论稿) 能不能用VB实现屏幕取词 ?

2005/10/8 13:10 | guest # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我的系统是xp的,但为什么不能用金山词霸的屏幕取词功能--一打开金山词霸的屏幕取词功能,屏幕只要鼠标有移动就立即刷屏。请教!十万火急....


我说:你一定装了正版的金山独霸吧。
我也和你一样,用不料盗版的金山词霸。
我决定改用瑞星。2005/10/15 20:59 | nana # re: 金山词霸”屏幕取词技术揭密(讨论稿) My 2005 version have the same problem with WinXP SP2.
Basicly JSCB kills the target window when it is doing api hooking. It even kills windows desktop and shell, but not IE 2005/11/1 11:37 | xiaoguo ge # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我们公司新买的电脑也出了这个问题,本来是我去负责买的,他们都 以为是电脑的配置有问题(因为不懂)现在才知道为什么不停地刷屏2005/11/24 14:19 | AMY # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我的系统是xp的,但为什么不能用金山词霸的屏幕取词功能--一打开金山词霸的屏幕取词功能,屏幕只要鼠标有移动就立即刷屏。请教!十万火急...2005/12/8 20:15 | yicanbao # cdc103941 中国大学生服务网 e卡通vip金钻卡 e卡通会员 卡号cdc103941 查密码2005/12/27 1:00 | 马军 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 想不起2005/12/27 1:05 | 马军 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 词霸2005,2006还用API Hook吗?
安装文件里有Cjktl16.dll,Cjktl32.dll,Cjktl95.dll来实现API hook,就是通常我们知道的哪些方法。
不过好像没什么用...删除它们都不会影响取词???
XdictGrb.dll 还没弄清楚为了什么
Normgrab.dll里的InitHookDLL
有这么一段
push eax ; lpVersionInformation
call ds:GetVersionExA
test eax, eax
jz loc_10002144
mov eax, [ebp+VersionInformation.dwPlatformId]
dec eax
jz short loc_100020C4 ; win95?? why?
dec eax
jnz loc_10002144
push 1
pop eax
jmp loc_10002146
loc_100020C4:
call sub_10002BE2 ; 这里就取 cjktlxx.dll 的函数 xeInit,xeEnableHook ...等等
===
看来还要再研究研究...
xdict.exe 需要unpack..还没找到合适的
希望有人帮忙2006/1/16 1:41 | beginner # re: 金山词霸”屏幕取词技术揭密(讨论稿) RE:我用的是瑞星正版,金山词霸是OEM版(盗版金山词霸2003也用过),XP是盗版,但是安装之后,只要一打开金山词霸,也是立即刷屏,系统就死机了!请教是怎么回事?

是否前面有位大侠的金山补丁装上就没事了呢?
2006/2/15 19:28 | 来看看 # re: 金山词霸”屏幕取词技术揭密(讨论稿) OK,名位刷屏的兄弟姐妹们,使用前面一位大侠的补丁替换金山词霸目录中同名文件,即可解决问题,不信试试看吧!
谢谢那位“这么巧”大侠了!2006/2/15 20:05 | 来看看 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 可以用了 太感谢了 2006/2/28 18:07 | 龙卷风 # re: 金山词霸”屏幕取词技术揭密(讨论稿) OK,名位刷屏的兄弟姐妹们,使用前面一位大侠的补丁替换金山词霸目录中同名文件,即可解决问题,谢谢那位“这么巧”大侠了! 真的是高手啊!!!!2006/3/10 14:22 | 在水一方 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 真的可以啊!金山词霸2006覆盖了原来的xdictgrb.dll文件后,内存溢出的现象也消失了,“这么巧”你真牛!谢谢啊!2006/3/12 21:57 | timewq # re: 金山词霸”屏幕取词技术揭密(讨论稿) 试了一下,是比以前好多了,但有时还是内存溢出啊!谁有破解版的Powerword 2006 SP1,我下载的一个咋不叫装?有没有个彻底的解决办法?
email:wangliwl_2004@126.com2006/3/12 23:00 | spring # re: 金山词霸”屏幕取词技术揭密(讨论稿) 刚刚使用了前面一高手的替换文件,可还是无法用到屏幕取词功能

究竟怎么回事?

2006/3/13 1:31 | shine # re: 金山词霸”屏幕取词技术揭密(讨论稿) 发水木清华BBS内哥们你的办法好使又简单,我的可以用了,真心谢谢你了!:)2006/3/24 20:15 | liliang # re: 金山词霸”屏幕取词技术揭密(讨论稿) 感谢那位这么巧大虾的指点,本机真的再不刷屏了,hoho 再次感谢!2006/3/31 22:42 | wo # re: 金山词霸”屏幕取词技术揭密(讨论稿) 好高深啊2006/4/10 11:28 | ReadMe # re: 金山词霸”屏幕取词技术揭密(讨论稿) 同谢“这么巧”,我的也不刷屏了,谢啦!2006/4/10 19:04 | 周蚊王 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 谢谢 “这么巧”先生,你给我解决了屏幕取词的问题,真是太感谢了! 不能打开取词模块的网友,请下载“这么巧”先生的DLL,覆盖原目录下的DLL文件就OK啦!2006/4/27 0:42 | ZKJ # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我的下载了那个补丁,还是不行啊。正版win xp home editon sp2 ntfs分区 瑞星杀毒软件 和 金山词霸20032006/5/12 12:35 | hsbx # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我的下载了那个补丁,也还是不行啊.我用的是正版win xp Media Center Edition, Version 2002, SP2,正版金山词霸2005专业版;Dell XPS DXP051 Intel Pentium D.我也试了在系统的数据执行保护中添加explorer.exe和rundll32.exe,还是刷屏,将鼠标取词改成中键取词后,不刷屏了,但是一按鼠标中间,打开的程序就会自动关闭。大侠们,请指教指教啊,先谢过了!我的邮箱littlemisstian@yahoo.com2006/5/21 23:55 | Tiantian # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我的是金山2003的出现一个情况就是打开金山词霸程序不能查词,就像没有词库一样,还有他只能在word里面取词不能在其他程序里面取词,这是怎么回事啊2006/6/6 20:52 | anky # re: 金山词霸”屏幕取词技术揭密(讨论稿) 为什么我一开屏幕取词就死机呀2006/6/7 8:11 | 浪 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 问一个显得比较弱的问题
截取到了TextOut()函数输出的内容后,要怎么计算鼠标在哪个单词上呢?2006/6/14 17:37 | rider # re: 金山词霸”屏幕取词技术揭密(讨论稿) 在win98下怎么用XdictGrb.dll2006/6/22 3:46 | xixi # 金山词霸”屏幕取词技术揭密--转贴 金山词霸”屏幕取词技术揭密(讨论稿) 2006/7/10 20:32 | amandaken # re: 金山词霸”屏幕取词技术揭密(讨论稿) 做了一个屏幕取词软件,怎么在有些地方不能取词呢,很奇怪啊,哪位大侠提示一下,什么情况的词取不下来!谢谢了!
2006/7/21 14:42 | 做了个取词不好用 # re: 金山词霸”屏幕取词技术揭密(讨论稿) TPanel是个什么东西,为什么在这个上面取词功能不好用呢???好心人帮助一下!hyhmen@sina.com.cn2006/7/21 15:00 | 做了个取词不好用 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我是xp环境,但我建立了受限帐户,在超级用户下屏幕取词很正常,受限用户却刷屏,打了那个补丁也没效果。
而且只能把兼容性设为windows 2000,才能有词库。

在超级用户下可以屏幕取词,在受限用户下却不行,怎么解决?2006/7/25 8:57 | freewings # re: 金山词霸”屏幕取词技术揭密(讨论稿) 咱们以截取TextOut为例。
下面是代码:
//截取TextOut


这个例子的代码好像不怎么全,有没有信更全面一点的代码啊
特别的生成jmp跳转这部分2006/7/27 20:26 | Ayu # re: 金山词霸”屏幕取词技术揭密(讨论稿) 有没有人在wince下做过屏幕取词啊!!!!!!!!!112006/7/27 20:32 | Ayu # re: 金山词霸”屏幕取词技术揭密(讨论稿) 太感谢那位这么巧大虾的指点,thank you very much!
好人啊!!2006/7/31 2:50 | 柯南、新一好帅~~~ # re: 金山词霸”屏幕取词技术揭密(讨论稿) 好办法,顶!
解决了困扰我很久的问题2006/8/4 21:30 | LIU # re: 金山词霸”屏幕取词技术揭密(讨论稿) 不胜感激啊2006/8/4 21:31 | LIU # re: 金山词霸”屏幕取词技术揭密(讨论稿) 谢谢大侠解决取词刷屏问题,哈哈2006/8/29 20:00 | 牛 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 谢谢,我的也可以用了,太感谢了2006/9/27 19:01 | 联邦 # re: 金山词霸”屏幕取词技术揭密(讨论稿) "屏幕取词对LTR语言不怎么麻烦但是对RTL(像Arabic,Hebro...)就不一样了。"
RTL语言的问题解决了!
ADOBE 取词也解决了只是要有“Adobe Integration Key License Application (IKLA)“才能用在Adobe reader
---
Babylon的软件也不错。支持很多语言2006/9/28 20:51 | kcahcn # re: 金山词霸”屏幕取词技术揭密(讨论稿) 谢谢
这么巧大侠,使用金山词霸再也不刷屏了,不胜感激!
2006/10/15 12:13 | beyond0535 # re: 金山词霸”屏幕取词技术揭密(讨论稿) 我谢谢你!~这么巧!~
我的救命恩人!~2006/10/31 14:13 | Gamema # re: 金山词霸”屏幕取词技术揭密(讨论稿) 太谢谢这么巧大侠了!我不小心下载了你的补丁,真的可以啦!!!感谢这些网络高手!2006/11/4 11:38 | nzwhappy # 金山词霸”屏幕取词技术揭密(讨论稿) 金山词霸”屏幕取词技术揭密(讨论稿) 2006/11/8 18:47 | eagletian # re: 金山词霸”屏幕取词技术揭密(讨论稿)
想写字,想得不得了,快完蛋了,见前鬼了2006/11/8 22:54 | 死猪头 # re: 金山词霸”屏幕取词技术揭密(讨论稿) xdict 2002 怎么没那个文件的拉...


那不是问题还要继续?2006/11/12 22:25 | zxx # re: 金山词霸”屏幕取词技术揭密(讨论稿) 请问:我装了金山词霸2006及2003为什么都不能屏幕取词,鼠标一往外移,整个屏幕除了金山词霸这个窗口在,其余都是白屏,就像死机一样,为什么呀?速回,感激.2006/11/20 23:19 | heidi # re: 金山词霸”屏幕取词技术揭密(讨论稿) 请问 金山词霸怎么在别的网页等上面不能取词是为什么哦? 当查词时在这个字典里面到可以取词2006/11/26 10:19 | yuyu # re: 金山词霸”屏幕取词技术揭密(讨论稿) 请问 金山词霸怎么在别的网页等上面不能取词是为什么哦? 当查词时在这个字典里面到可以取词

2006/11/26 10:20 | YUYU # re: 金山词霸”屏幕取词技术揭密(讨论稿) 请问 金山词霸怎么在别的网页等上面不能取词是为什么哦? 当查词时在这个字典里面到可以取词
谁能告诉我哦2006/11/26 10:21 | YUYU # re: 金山词霸”屏幕取词技术揭密(讨论稿) 取词功能只在词典界面有效???为什么哦2006/11/26 10:23 | YUYU # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 谢谢这么巧大侠2006/11/28 17:04 | haiwangxing # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 我的问题也解决了,谢谢这么巧大侠2006/11/28 17:05 | haiwangxing # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 词霸软件取词不能在普通用户权限下运行,而办公环境却是普通用户权限的。大侠怎么解决这个问题啊2006/12/13 11:56 | andy # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 现在很多软件不能在普通用户权限下运行,而办公环境却是普通用户权限的。其实那些软件公司早就应该弄懂微软的软件在真正办公环境管理的要求。微软为甚么构架了多用户,多用户的等级不同而环境也是不同的,软件公司怎么到现在还没有这个意识,真悲哀!2006/12/13 12:00 | andy # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 小弟想问一个问题,我的金山词霸是2006OEM版,今天用时,突然出现了问题,就是一打开,就没有响应了,无法关闭,在任务管理器里也无法关闭,而且xdict进程也无法关闭,只有重启才行,重装软件(要重新输入注册码),还是这样,但不双击打开,而是选择右键运行打开的话,可以使用,但每次都要输入注册码,而且不能屏幕取词,不能输入中文查单词,郁闷死了,哪位大虾帮帮忙啊2006/12/23 23:18 | vane # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 我也出现了和楼上兄弟一样的情况啊,郁闷得很啊,一取词就卡了关都关不了,安了个2007版,问题依旧啊!2006/12/24 19:45 | same # 请问: 金山词霸”屏幕取词技术揭密(讨论稿) 我也出现了和楼上兄弟一样的情况啊,郁闷得很啊,一取词就卡了关都关不了,安了个2007版,问题依旧啊!

2006/12/26 8:00 | 一平 # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 呵呵,小弟我搞定了 到百度上找到的

点激卡巴(主动防御),禁用(程序活动分析),就行了.

和我一样装了词霸和卡巴的人都可以解决冲突的问题了 拉拉 网络真好

2006/12/27 20:12 | vane # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 哈哈,我同意楼上的,超级简单
2007/1/18 10:27 | Rachel # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 我是使用金山的dll怎么只能获取28个字就不能使用了。有谁研究过吗?2007/1/22 15:16 | king # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 哪位大侠研究过金山现在(比如2007)取词的原理是什么,给小弟介绍一下,不胜感激!2007/2/3 16:36 | Skysea # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 谢谢vane 提出的问题,我也有同样的经历.也用同样的方法搞掂了.但现禁用了卡巴的(程序活动分析),卡巴的防毒杀毒功能同样奏效吗?另现在我的词霸是不能发音朗读的,那该怎么办哟??!!快帮帮我2007/2/6 21:03 | michelle # 请问: 金山词霸”屏幕取词技术揭密(讨论稿) 谢谢vane 提出的问题,我也有同样的经历.也用同样的方法搞掂了.但现禁用了卡巴的(程序活动分析),卡巴的防毒杀毒功能同样奏效吗?另现在我的词霸是不能发音朗读的,那该怎么办哟??!!快帮帮我

2007/2/6 21:04 | michelle # 金山词霸”屏幕取词技术揭密(讨论稿) [转贴] 金山词霸2007/2/26 13:10 | 坚强2002 # 【转载】金山词霸”屏幕取词技术揭密(讨论稿) 一.基础知识
首先想编这种程序需要一些基础知识。
会用Vc ,包括16/32位。
精通Windows API特别是GDI,KERNEL部分。
懂汇编语言,会用softice调试程序,因为这种程序最好用softice调试。
2007/3/14 11:40 | shunan # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 关于windows权限的问题,我测试过也有普通用户可以取词的情况,但很多情况下,一旦发生了屏幕取词的问题,比如提示“无法初始化屏幕取词模块”的错误后,只有升级到Power User以上才能取词,即使打上2005的SP1还是老样子,不知应该如何解决?2007/5/11 11:01 | 阿导 # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 这个太深奥了,不是我这种大学生能看懂的。2007/5/15 10:53 | 小爱 # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 我正在做一个设计是关于dsp字母识别及语音系统,类似于金山词霸的取词然后再发音,希望得到某位名士的指导。我的邮箱wangwyr2003@163.com
有什么想法可发邮件和我联系
QQ:1574406142007/5/16 16:53 | wang # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 谁知道如何用vb实现屏幕取词啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2007/5/26 11:11 | 急用 # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 办公环境下user用户组,用金山的时候就会弹出“无法初始化屏幕取词模块”,我找不到解决办法,用户必须是用户组,办公环境需要。

尝试过单独对金山安装文件夹及子目录及文夹给于用户组跟使用帐户完全控制权限,但是都不行~~~~急求解决办法~~~
2007/6/29 16:32 | hydong2003@126.com # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 请帮忙解决屏幕取词问题
2007/8/12 11:09 | colin # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 我虽然看不懂你写的是什么 但是 给人感觉满好的 我是电脑的初学者 很多的东西都不会 渴望有机会 你可以指点我一下 谢谢先
2007/8/21 19:41 | samuel # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 我想能取控件中的内容,有没有方法呢?自动捕获网页中edit控件中的内容,当它为11位的数字时,就在屏幕中显示一个类似于金山词霸的小窗口。哪位大哥有办法,给点提示啊……2007/9/24 17:09 | azhe # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) 本人从去年下半年开始使用金山词霸2007简体中文专业版,之前会有操作时软件没反应的现象。想要继续使用只能重启计算机。现在这个问题还存在,而且这几天一使用屏幕取词浏览器就自动关闭了。不知是怎么回事。这个问题不解决,会带来很大的麻烦的。请高手指点。2007/12/17 21:06 | iris # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) mark2007/12/21 15:59 | twinkly # 回复: 金山词霸”屏幕取词技术揭密(讨论稿) markmarkmarkmarkmark2007/12/21 15:59 | twinkly