怎么判断win系统的语言版本?

redwrite 2003-12-05 01:48:54
如题
...全文
148 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
redwrite 2003-12-05
  • 打赏
  • 举报
回复
to : 3661512(菜鸟一只)
可是返回值是数字,不知道什么数字表示什么系统
有没有返回值说明?
3661512 2003-12-05
  • 打赏
  • 举报
回复
用WMI,http://www.mvps.org/vbnet/index.html?code/wmi/wmoperatingsystem.htm
的OSLanguage 属性,
SoHo_Andy 2003-12-05
  • 打赏
  • 举报
回复
程序如何才能识别目前的操作系统环境
http://www.china-askpro.com/msg1/qa14.shtml


可以有很多办法来确定Win 95的语种,采用何种方法要看你的目的。如果你想知道货币、时间格式等语种信息,可以访问WIN.INI的[Intl]节,其中iCountry表示国家代码,sCountry表示国家名称。如果你想获得当前Win 95的语言版本,可以使用Win32 API的GetOEMCP函数获得当前系统的国家代码。也可以使用Windows API函数GetSystemDefaultLCID()。
LCID这里称之为“地方”,是个32位的位的值,用于为现成或系统标识语言和平台。其中0~15位指出语言。0~15位又分为两个部分。其中0~9标识主语言。10~15标识语言的一个子集。所以我们的思路是先得出系统的地方值,然后取出第10位值即可。
'语言常数
Public Const LANG_CHINESE& = &H4
Public Const LANG_BULGARIAN& = &H2
Public Const LANG_CROATIAN& = &H1A
Public Const LANG_CZECH& = &H5
Public Const LANG_DANISH& = &H6
Public Const LANG_DUTCH& = &H13
Public Const LANG_ENGLISH& = &H9
Public Const LANG_FINNISH& = &HB
Public Const LANG_FRENCH& = &HC
Public Const LANG_GERMAN& = &H7
Public Const LANG_GREEK& = &H8
Public Const LANG_HUNGARIAN& = &HE
Public Const LANG_ICELANDIC& = &HF
Public Const LANG_ITALIAN& = &H10
Public Const LANG_JAPANESE& = &H11
Public Const LANG_KOREAN& = &H12
Public Const LANG_NEUTRAL& = &H0
Public Const LANG_NORWEGIAN& = &H14
Public Const LANG_POLISH& = &H15
Public Const LANG_PORTUGUESE& = &H16
Public Const LANG_ROMANIAN& = &H18
Public Const LANG_RUSSIAN& = &H19
Public Const LANG_SLOVAK& = &H1B
Public Const LANG_SLOVENIAN& = &H24
Public Const LANG_SPANISH& = &HA
Public Const LANG_SWEDISH& = &H1D
Public Const LANG_TURKISH& = &H1F
'函数声明
Public Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long

'例子代码
Dim lngLCID As Long
Dim lngLangID As Long

lngLCID = GetSystemDefaultLCID
'取低10位
lngLangID = (lngLCID And (Not &HFC00))

Select Case lngLangID
Case LANG_CHINESE
MsgBox "您使用的是中文Windows", vbInformation, "信息"
case LANG_ENGLISH
MsgBox "您使用的英文Windows",vbInformation,"信息"
End Select
但要注意:如果你的程序依赖于某个特定的DLL,它支持的语种可能与当前系统的语种不同,因为某些软件(特别是微软的软件)可能会安装一些版本比较新的DLL到用户的系统中,通常这些DLL是英文版的,而用户使用的系统可能是中文版的,所以检测某个DLL的语言版本可以使用WIndows API的GetFileVersionInfo函数。如果你只是想知道Win 95是否支持双字节,可以使用WIndows API的GetSystemMetrics(SM_DBCSENABLED)。

小麦
操作系统: Windows 98
编程工具: VB6
问题: 请问在VB中有什么方法能得知当前的Windows是简体中文还是繁体中文?谢谢!
水平: 中级
答:也可以使用API函数GetSystemDefaultLangID,如果返回的是&H404是繁体中文,返回&H804是简体中文。
pcwak 2003-12-05
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=172326

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧