返回   cpper编程论坛 > 技术杂烩
注册账号 论坛帮助 会员列表 日历事件 搜索 今日新帖 标记版面已读

技术杂烩 找不到地方的技术问题?这里!

回复
 
LinkBack 主题工具 显示模式
  #1 (permalink)  
旧 2007-02-07
polyrandom 的头像
超级版主
 
注册日期: 2002-09-03
帖子: 3,138
文章: 20
polyrandom 正向着好的方向发展
默认 怎样在Windows中列出所支持的语言

我希望的形式是“zh_cn”、“zh_tw”之类的形式,或者某种能够和其它平台上兼容的名称。
目前我可以枚举出来的就是语言名字或者locale代码,前者不标准,后者是一个数字,使用不方便。
我看了文档,只看到一个CultureInfo类使用这个的,但是是.NET的,而我需要Win32函数。哪位有经验的,吱一声。
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #2 (permalink)  
旧 2007-02-07
高级会员
 
注册日期: 2006-02-11
帖子: 139
zero 正向着好的方向发展
默认

既然.NET实现了,就粗鲁一点。直接用Reflector看一下它是怎么实现的好了。
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #3 (permalink)  
旧 2007-02-07
polyrandom 的头像
超级版主
 
注册日期: 2002-09-03
帖子: 3,138
文章: 20
polyrandom 正向着好的方向发展
默认

引用:
作者: zero
既然.NET实现了,就粗鲁一点。直接用Reflector看一下它是怎么实现的好了。
这个东西我不会呀,哪位帮我弄出来,把代码贴在这里就好了
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #4 (permalink)  
旧 2007-02-15
polyrandom 的头像
超级版主
 
注册日期: 2002-09-03
帖子: 3,138
文章: 20
polyrandom 正向着好的方向发展
默认

代码:
#include <windows.h> #include <tchar.h> BOOL CALLBACK EnumLanguageGroupLocalesProc( LGRPID LanguageGroup, LCID Locale, LPTSTR lpLocaleString, LONG_PTR lParam ) { TCHAR country[128], lang[128]; GetLocaleInfo( Locale, LOCALE_SISO3166CTRYNAME, country, 128 ); GetLocaleInfo( Locale, LOCALE_SISO639LANGNAME, lang, 128 ); _tprintf( _T( "%s_%s\t" ), country, lang ); return TRUE; } BOOL CALLBACK EnumLanguageGroupsProc( LGRPID LanguageGroup, LPTSTR lpLanguageGroupString, LPTSTR lpLanguageGroupNameString, DWORD dwFlags, LONG_PTR lParam ) { EnumLanguageGroupLocales( EnumLanguageGroupLocalesProc, LanguageGroup, 0, 0 ); _tprintf( _T( "\n" ) ); return TRUE; } int main() { EnumSystemLanguageGroups( EnumLanguageGroupsProc, LGRPID_INSTALLED, 0 ); }
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #5 (permalink)  
旧 2007-02-17
cat cat 当前离线
高级会员
 
注册日期: 2003-11-06
帖子: 1,563
文章: 6
cat 正向着好的方向发展
默认

居然被你找到了。由于.net没有直接去call windows API, 所以我用zero的方法败了……
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #6 (permalink)  
旧 2007-02-18
polyrandom 的头像
超级版主
 
注册日期: 2002-09-03
帖子: 3,138
文章: 20
polyrandom 正向着好的方向发展
默认

其实当初我在问这个问题前就找到了GetLocaleInfo这个函数。但是当时犯了一个错误,就是误以为国家名称也是ISO639的,所以搜索文档的时候漏看了。其实应该是3166
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #7 (permalink)  
旧 2007-03-16
普通会员
 
注册日期: 2006-04-17
帖子: 59
ltqin 正向着好的方向发展
默认

引用:
作者: polyrandom 查看帖子
其实当初我在问这个问题前就找到了GetLocaleInfo这个函数。但是当时犯了一个错误,就是误以为国家名称也是ISO639的,所以搜索文档的时候漏看了。其实应该是3166
请问你是怎么找到GetLocaleInfo的?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #8 (permalink)  
旧 2007-03-16
polyrandom 的头像
超级版主
 
注册日期: 2002-09-03
帖子: 3,138
文章: 20
polyrandom 正向着好的方向发展
默认

引用:
作者: ltqin 查看帖子
请问你是怎么找到GetLocaleInfo的?
MSDN
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
回复

书签

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为格林尼治时间 +9。现在的时间是 07:11 AM


Powered by vBulletin® 版本 3.7.0
版权所有 ©2000 - 2009,Jelsoft Enterprises Ltd.
(C) Copy Right All Right Reserved 2001 - 2007

Search Engine Friendly URLs by vBSEO 3.1.0