VC 取得系统是什么语种的方法

本文介绍了一种通过系统默认用户桌面文件夹名称来判断Windows系统语言版本的方法,当控制面板语言设置被改变时,GetSystemDefaultLangID()和GetSystemDefaultUILanguage()可能无法获取原始安装语言。利用'C:Documents and SettingsDefault Userdesktop'路径下的文件夹名称,可以区分英文和其他语言版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一提到这个问题,可能大多数都想到一个API:

LANGID GetSystemDefaultLangID();

先调用这个函数,然后返回值与语言列表中比较就可以判断了。

这个在系统没有设置语言项时的确没有问题的,

其实系统如果没有在控制面板里改变语言项时,还可以利用另一个函数:

LANGID GetSystemDefaultUILanguage();

可window偏偏提供了你改变这个值得GUI接口(在控制面板里你可以找到这项的)

这个时候再调用这个函数就取得是你设置的语言项,而不是你系统安装的语言版本了,

之所以提到系统安装时的语言版本,是因为有时程序在初始化语言不同的版本下会有些差异问题(比如界面问题)。

这时候我们再指望API就没多大希望了,呵呵至少我没有查到有用的函数,

这个时候我们恐怕只有从系统标志性的差异点来着手了:

目前我发现用C:\Documents and Settings\Default User下的桌面文件夹的名称是随系统语言版本不同而不同,

  比如英文版本情况下:

         C:\Documents and Settings\Default User\desktop --->> 用desktop判断是否是英文版

而且你不能修改的,所以我的一个方法就是利用这个来判断的,

=============================================

当然肯定还有其他的方法,希望有其他办法的朋友把你的方法共享出来。

 

出处:http://blog.youkuaiyun.com/linaren/archive/2008/06/18/2561376.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值