VB能做输入法吗?

chchw2001 2004-03-15 10:06:20
我想用VB做一个输入法,不知行不行,如果行的话,最好能给个例子,谢了!
...全文
193 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
101monster 2004-03-19
  • 打赏
  • 举报
回复
呵呵,UP!
boyzhang 2004-03-19
  • 打赏
  • 举报
回复
不是说 "万能五笔 就是用sendkey ",是说用Sendkey可以模拟输入法的输入,

Sendkey就是将一个或多个按键消息发送到活动窗口

如果你写一个程序,可以截获用户输入,比如在KeyPress事件里写入
KeyAscii = 0就可以截获用户输入用于判断,比如,一连四次用户按
下了G,就可以用Sendkey发送一个"王"字(五字字型中王的编码是gggg),
不过,这样会有一个问题,就是你的窗体要像输入法一样不能有焦点,
最好用全局键盘钩子来实现,如果你不怕麻烦,也可以先获得当前活动
的窗体句柄,并再发送前激活那个窗体也可以(效果可能没有用钩
子理想).....

我做的那个程序在运行时没有窗体,只是一个Timer控件+Getasynckeystate函数(API)
来判断使用是否按下了F11键,如果按下了F11,就把打字软件上面的范文
用Sendkey逐个发送到当前活动窗体中(也就是那个打字软件的测试输入窗口),
所以,不存在上面说的窗体焦点问题...

这个问题可以使用全局键盘钩子来解决,CSDN里曾经讨论过,你可以自己找找看...
chchw2001 2004-03-19
  • 打赏
  • 举报
回复
boyzhang(张郎)
外挂的输入法也可以,万能五笔 就是用sendkey ? 太不可思议了,局部钩子怎么用,能不能给个简单例子,其实我要做的只是一些专用词汇,不需要太快的速度!
pigpag 2004-03-17
  • 打赏
  • 举报
回复
如果是一个标准的输入法程序,必须是个驱动类程序,必须遵循Windows提供的接口规则,由系统调用。这些VB都是做不到的。

如果先拦截键盘输入,处理后输出,虽然几乎是同样的效果,但是这不能成为输入法。(譬如在登录环境下不能用)
boyzhang 2004-03-17
  • 打赏
  • 举报
回复
万能五笔,拼音加加,这些都是现在最热门的输入法,特别是万能五笔(我的最爱),太好用了..

只不过用了局部钩子,然后就是输出来当前光标位置,(SendKey也是输出到当前的光标位置...)

还有,万能五笔是外挂式的输入法,不过,只要好用,是不是标准输入法已经不重要了.....
'------------------------------------------------------
所谓的复合型人材,就是
程序员里数我歌唱得好,歌手里我程序写得最棒! :)
flyingscv 2004-03-16
  • 打赏
  • 举报
回复
可以肯定是可以的,我敢保证
只是我从来没有做过 :)
pigpag 2004-03-16
  • 打赏
  • 举报
回复
不可以
大鸟吴 2004-03-16
  • 打赏
  • 举报
回复
当然可以了,不过是比较费事而已。多看看api.
chenxdb 2004-03-16
  • 打赏
  • 举报
回复
VB应该可以了,但我了不知道:(
推荐使用操作系统自带的输入法编辑器来进行输入法的生成。这主就不用考虑系统兼容的情况了。因系统自带的,生成后所有的windows上的都可以用
boyzhang 2004-03-16
  • 打赏
  • 举报
回复
当然可以,而且,我以前就见过一个电力局的大哥用VB写的全拼输入法

用的双线性搜索,巨快....

'------------------------------------------------------
所谓的复合型人材,就是

程序员里数我歌唱得好,歌手里我程序写得最棒! :)
chchw2001 2004-03-16
  • 打赏
  • 举报
回复
大家说的好像不太专业吧,用其它语言怎么做? 我用过键盘钩子可总是提示出错
itcoco 2004-03-16
  • 打赏
  • 举报
回复
学习
越来越觉得什么都是可能的
boyzhang 2004-03-16
  • 打赏
  • 举报
回复
最简单的,SendKey发送字符就行了

我曾在学校文字录入考试中用VB写了个小程序,向那个软件SendKey,结果,得了满分...

:)
先用WM_GetText得打字测试软件的文字句柄,再用GetAsyncKeyState(监视某键状态)配合SendKey+1个Timer控件
'------------------------------------------------------
所谓的复合型人材,就是
程序员里数我歌唱得好,歌手里我程序写得最棒! :)

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧