首页
社区
课程
招聘
求助:关于输入法使用的API
发表于: 2005-3-15 09:47 7776

求助:关于输入法使用的API

2005-3-15 09:47
7776
我想修改输入法输出的文字,如中文全角括号改为半角括号(但其他中文标点不受影响),怎样在键盘输入时截获输入法发送给文章的字符?它使用什么API?我输入法是拼音加加。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 151
活跃值: (66)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
支持,,我也想知道.呵呵.
很新颖哈
2005-3-15 10:43
0
雪    币: 260
活跃值: (162)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
输入法编写有标准的编写规范和IMM API函数支持的,一般的输入法是通过自身实现的的ImeToAsciiEx和ImeProcessKey函数实现字和词组转换,也有通过UIWndProc回调消息事件处理的,甚至有的输入法没有安装微软的规范编写,直接使用钩子实现
拼音加加你试试分析他的IME文件导出的ImeToAsciiEx函数试试
2005-3-15 12:10
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
4
最初由 vcasm 发布
输入法编写有标准的编写规范和IMM API函数支持的,一般的输入法是通过自身实现的的ImeToAsciiEx和ImeProcessKey函数实现字和词组转换,也有通过UIWndProc回调消息事件处理的,甚至有的输入法没有安装微软的规范编写,直接使用钩子实现
拼音加加你试试分析他的IME文件导出的ImeToAsciiEx函数试试


学习了~
2005-3-15 15:58
0
雪    币: 280
活跃值: (281)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
5
现在又有新问题了,当启动拼音加加时,进程里多了个JJSRV.EXE,用OD附加上去时却没有看到它的IME模块。怎样才能调试它呢?反汇编IME文件的ImeToAsciiEx我没看出什么东西,只有几行就返回了。
2005-3-16 08:15
0
雪    币: 280
活跃值: (281)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
6
沉了,自己顶一下
2005-3-16 23:20
0
雪    币: 260
活跃值: (162)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
附加一段代码
修改导出的ImeProcessKey函数,里面第2个参数是输入的字符的扫描码,你可以用来判断是否是修改的字符
ImeToAsciiEx函数一般完成输入法的输出,如果前面函数输入的是你需要处理的字符,就修改该输入法的半角全角的处理标志
一般而言,你不需要去具体研究对方输入法输出代码,只需要采集当然是否是你需要处理的字符,然后修改其全半角判断的标志就可以了
2005-3-17 00:26
0
雪    币: 280
活跃值: (281)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
8
非常感谢大家的帮助,不过在静态时也能分析字符吗?我可做不到。如果能用OD调试就好了。
2005-3-17 00:52
0
雪    币: 280
活跃值: (281)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
9
终于能调试了,但还没有找到处理全角半角的代码。继续努力
2005-3-17 11:01
0
雪    币: 280
活跃值: (281)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
10
搞了几天,还是没有找到处理全角半角的代码。郁闷!甚至连全角半角的标志位也没找到。我用了金山游侠查找内存,在勾选全角时查找内存1,去掉全角勾选后查找内存0,反复几次,找到三个固定的内存,可能是全角半角的标志,但用OD设置内存断点时,发现键盘一输入就断下来,然后才调用ImeToAsciiEx,然后又会访问内存,跟得我都头晕了。如果不作字符判断,直接更改内存,也可以使全角半角转换,但这并不是我需要的。麻烦大侠们能讲讲ImeToAsciiEx函数的返回值或字符处理方法(如键盘输入9时,有个输入参数是00390039,应该是键盘的码,但我不知道处理完后会返回什么值,以及返回值地址)。
2005-3-22 19:22
0
雪    币: 47147
活跃值: (20465)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
11
这里问问:
http://www.wbfans.com/bbs/list.asp?boardid=10
2005-3-22 19:28
0
游客
登录 | 注册 方可回帖
返回
//