在Java应用程序比如记事本或者word中,我们可以通过java.awt.robot类中的方法来模拟键盘操作,通过把输入法切换成中文输入,然后使用keyevent_VK*来输入中文。这种方法是可以在应用程序中输入中文的。
    不过我现在的问题是:能否不使用输入法程序,一步到位的插入中文,比如像VB中直接使用sendkey("中文")来插入中文。
问题的实际背景是在手机与PC交互的一个项目中,从手机触屏手写输入了汉字,然后想把汉字插入到PC的应用程序之中,由于使用输入法,要把汉字先解析成输入法对应的键盘字符序列。比如在采用拼音输入的情况下。汉字“中”要拆解成键盘字符序列
“z h o n g”,然后再调用keypress()方法依次输入。这样太过于繁琐了。
    有没有直接可以使用的API接口,如果没有的话,自己来编写底层代码的话,那相当于自己做一个逆向输入法程序,依照自己目前的能力和实际情况,那都相当不现实了。

解决方案 »

  1.   

    还要手机触摸屏 
    这个更多了解Mobile的SDK吧。
      

  2.   

    LZ真有前途,我不晓得,帮你顶顶,应该也和J2ME,塞班,windows mobile有关系吧
      

  3.   

    把vb的sendkeys封装起来,做成dll,然后用jni做
      

  4.   


    感谢您提供的思路,自己没学习用过dll,刚才上网查了下资料,有了个初步的了解,好像可行。
    但是对于这种方案的可行性自己没法做出准确的评估,项目的时间不多了。您能帮我对这种方案
    的可行性做一个评估么?
      

  5.   


    你如果是想往pc的某个现有应用程序(例如notepad)里面写入字符串,那是可行的但是,如果你想往pc的自己的程序里面写字符串,还是建议直接得到要写入的控件,然后直接setText
      

  6.   

    突然又想到一个办法
    通过clipboard中转一下,然后就不需要发中文到application了
    你可以试试看,记得把结果发上来大家分享一下哦