能力值:
( LV6,RANK:90 )
|
-
-
2 楼
支持,,我也想知道.呵呵.
很新颖哈
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
输入法编写有标准的编写规范和IMM API函数支持的,一般的输入法是通过自身实现的的ImeToAsciiEx和ImeProcessKey函数实现字和词组转换,也有通过UIWndProc回调消息事件处理的,甚至有的输入法没有安装微软的规范编写,直接使用钩子实现
拼音加加你试试分析他的IME文件导出的ImeToAsciiEx函数试试
|
能力值:
( LV12,RANK:660 )
|
-
-
4 楼
最初由 vcasm 发布 输入法编写有标准的编写规范和IMM API函数支持的,一般的输入法是通过自身实现的的ImeToAsciiEx和ImeProcessKey函数实现字和词组转换,也有通过UIWndProc回调消息事件处理的,甚至有的输入法没有安装微软的规范编写,直接使用钩子实现 拼音加加你试试分析他的IME文件导出的ImeToAsciiEx函数试试
学习了~
|
能力值:
( LV9,RANK:250 )
|
-
-
5 楼
现在又有新问题了,当启动拼音加加时,进程里多了个JJSRV.EXE,用OD附加上去时却没有看到它的IME模块。怎样才能调试它呢?反汇编IME文件的ImeToAsciiEx我没看出什么东西,只有几行就返回了。
|
能力值:
( LV9,RANK:250 )
|
-
-
6 楼
沉了,自己顶一下
|
能力值:
( LV4,RANK:50 )
|
-
-
7 楼
附加一段代码
修改导出的ImeProcessKey函数,里面第2个参数是输入的字符的扫描码,你可以用来判断是否是修改的字符
ImeToAsciiEx函数一般完成输入法的输出,如果前面函数输入的是你需要处理的字符,就修改该输入法的半角全角的处理标志
一般而言,你不需要去具体研究对方输入法输出代码,只需要采集当然是否是你需要处理的字符,然后修改其全半角判断的标志就可以了
|
能力值:
( LV9,RANK:250 )
|
-
-
8 楼
非常感谢大家的帮助,不过在静态时也能分析字符吗?我可做不到。如果能用OD调试就好了。
|
能力值:
( LV9,RANK:250 )
|
-
-
9 楼
终于能调试了,但还没有找到处理全角半角的代码。继续努力
|
能力值:
( LV9,RANK:250 )
|
-
-
10 楼
搞了几天,还是没有找到处理全角半角的代码。郁闷!甚至连全角半角的标志位也没找到。我用了金山游侠查找内存,在勾选全角时查找内存1,去掉全角勾选后查找内存0,反复几次,找到三个固定的内存,可能是全角半角的标志,但用OD设置内存断点时,发现键盘一输入就断下来,然后才调用ImeToAsciiEx,然后又会访问内存,跟得我都头晕了。如果不作字符判断,直接更改内存,也可以使全角半角转换,但这并不是我需要的。麻烦大侠们能讲讲ImeToAsciiEx函数的返回值或字符处理方法(如键盘输入9时,有个输入参数是00390039,应该是键盘的码,但我不知道处理完后会返回什么值,以及返回值地址)。
|
能力值:
(RANK:350 )
|
-
-
11 楼
这里问问:
http://www.wbfans.com/bbs/list.asp?boardid=10
|
|
|