Free mind
Be fresh and eager every morning, and tired and satisfied every night.
posts - 39, comments - 2, trackbacks - 0, articles - 0
::
首页
::
新随笔
::
联系
::
聚合
::
管理
如何将日文汉字转换成假名显示[z]
Posted on 2007-05-30 14:38
morphis
阅读(1268)
评论(0)
编辑
收藏
其实很简单啦,不过微软的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的例子。
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
Powered by:
BlogJava
Copyright © morphis
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
(36)
0. Daily feeling(14)
1. C/Cpp(8)
2. System(3)
3. Web(3)
4. Windows(1)
5. P2P(2)
6. Linux(1)
7. Design
8. English(3)
9. Japanese(1)
随笔档案
(39)
2007年10月 (1)
2007年9月 (2)
2007年6月 (8)
2007年5月 (5)
2007年4月 (3)
2007年3月 (6)
2007年2月 (7)
2007年1月 (5)
2006年4月 (2)
blog
设计模式
C/Cpp
Apache源代码分析
excite.co.jp
hiragana
http://blog.csdn.net/vcmfc/
jpn news
spl
Cluster
Linux doc
japanese
jpn news
日语节目
花的听吧
java
extremecomponents
http://www.java2s.com
P2p
bt+emule
libtorrent
pattern
pattern-home
refactoring
WTL
搜索
最新评论
1. re: 35岁以前需要做的十件事
我还有15年。。。
--itkui
2. re: (转贴)人生的精典感悟
受益匪浅
--hao
评论排行榜
1. (转贴)人生的精典感悟 (1)
2. 35岁以前需要做的十件事(1)
3. 【转贴】泛型算法:Tips (0)
4. 编译boost库-用vc2005编译boost(0)
5. boost.asio(0)