我自闲庭信步,悠然自得,不亦乐乎.

                                       ------ Keep life simple
GMail/GTalk/MSN:huyi.zg@gmail.com

 

如何将日文汉字转换成假名显示

其实很简单啦,不过微软的API应用说明中对这个的描述也不清楚,现将我的实现代码和注意事项贴出来给大家参考。

 1#include <INITGUID.H>
 2#include "MSIME.h"
 3.
 4.
 5.
 6    CString sSelect;
 7    this->GetWindowText(sSelect);
 8
 9    IFELanguage *lang = NULL;
10    if(SUCCEEDED(CoCreateInstance(CLSID_MSIME_JAPANESE_6,NULL,
11        CLSCTX_INPROC_SERVER,IID_IFELanguage,(void**)&lang)) && lang != NULL)
12    {
13        if(!SUCCEEDED(lang->Open()))
14        {
15            return;
16        }

17    }

18    if(lang)
19    {
20        CString sResult;
21        BSTR out = NULL;
22        if(SUCCEEDED(lang->GetPhonetic(_bstr_t(sSelect),1,-1,&out)) && out != NULL)
23        {
24            sResult = out;
25            ::SysFreeString(out);
26        }

27        this->SetWindowText(sResult);
28    }
第1行的include比较重要,如果不加,容易出现链接错误,这是在platform的SDK中带有的头文件。
第2行是关键性头文件,在微软japan ime文档的append部分带有,现在最新是1.3版。
其他部分照猫画虎就行了,值得注意的是CLSID_MSIME_JAPANESE_6这个,如果要想在win2000下用,一定要用低版本的,推荐像我这样用6。

用这套API,还可以完成类似于转换拼音之类的功能,如果要创造自己的输入法,建议看看TSF,微软给了很多TSF的例子。

posted on 2006-03-15 17:58 HuYi 阅读(6168) 评论(10)  编辑 收藏 引用 所属分类: C/C++代码

评论

# re: 如何将日文汉字转换成假名显示 2006-12-30 15:14 Sanbrother

谢谢,非常有用的代码.  回复  更多评论   

# re: 如何将日文汉字转换成假名显示 2007-05-28 12:43 gtt

将来、私は好きな仕事を见つけ、一生悬命働き、爱しいている人と暖かい家を作りたい。この町で友达と亲しい人たちと一绪に忙しくて楽しい生活を送ります。简単は幸せです。そして、自分の子供をよく育て、私の物语を伝えます。一家で幸せに生活することは、私の将来の梦です。简単で美しい梦です。
  回复  更多评论   

# re: 如何将日文汉字转换成假名显示 2007-09-20 00:48 曾建雄

很酷  回复  更多评论   

# re: 如何将日文汉字转换成假名显示 2007-10-10 17:23 诗龙

一路飞翔  回复  更多评论   

# re: 如何将日文汉字转换成假名显示 2007-11-04 00:09 wl

·知道情人节我想吃什么吗?煮你,炒你,清蒸你;烤你,焖你,红烧你;炸你,煎你,凉拌你!  回复  更多评论   

# 凋谢是真实的 盛开只是一种过去 2007-11-04 09:40 grfrfg

yggegr  回复  更多评论   

# re: 如何将日文汉字转换成假名显示 2007-11-30 23:28 与神对话

和  回复  更多评论   

# re: 如何将日文汉字转换成假名显示 2007-12-10 00:46 gg

爱情是痛苦的两相情愿!甜蜜浪漫的相知相爱!痛苦无赖的天涯相隔!思恋就是心碎的毒药!左徘徊右徘徊相思无赖!  回复  更多评论   

# re: 如何将日文汉字转换成假名显示 2007-12-13 09:37 bibifish582

能顯示怎麼COPY出來啊.  回复  更多评论   

# re: 如何将日文汉字转换成假名显示 2007-12-18 17:07 别说你还爱着我

甜蜜浪漫的相知相爱!痛苦无赖的天涯相隔!  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿(12)

随笔分类

相册

收藏夹

友情链接

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜