vb中如何获取当前WINDOWS操作系统的语言种类?如简体、繁体或英文
如题。
请教方法,在线等中。
[解决办法]
Private Declare Function GetSystemDefaultLCID Lib "kernel32 " () As Long
Private Function GetOSLCID() As Integer
Dim sysLCID As Long
sysLCID = GetSystemDefaultLCID
'&H409(us-英文)&H809(gb-英文) &HC09(au-英文) &H1009(ca-英文)
'&H004(zh-中文)&H404(tw-Big5)&H804(cn-GBK/GB)&HC04(hk-Big5) &H1004(sg-GBK)
'&H804=2052 &H404=1028 &H409=1033 &H809=2057
If sysLCID = &H804 Or sysLCID = &H4 Or sysLCID = &H1004 Then
GetOSLCID = 1 '中文简体
ElseIf sysLCID = &H404 Or sysLCID = &HC04 Then
GetOSLCID = 2 '中文繁体
ElseIf sysLCID Mod 16 = 9 Then
GetOSLCID = 0 '(英文)
Else: GetOSLCID = 0
End If
End Function
[解决办法]
说明:
GetSystemDefaultLCID API将返回Windows的Non-Unicode设定。StrConv的最后一个参数有可能用到。
例如:
LOCALE_ILANGUAGE: 0804
LOCALE_SLANGUAGE: Chinese (PRC)
LOCALE_SENGLANGUAGE: Chinese
LOCALE_SABBREVLANGNAME: CHS
LOCALE_SNATIVELANGNAME: 中文(简体)
LOCALE_ICOUNTRY: 86
LOCALE_SCOUNTRY: People 's Republic of China
LOCALE_SENGCOUNTRY: People 's Republic of China
LOCALE_SABBREVCTRYNAME: CHN
LOCALE_SNATIVECTRYNAME: 中华人民共和国
LOCALE_IDEFAULTLANGUAGE: 0804
LOCALE_IDEFAULTCOUNTRY: 86
LOCALE_IDEFAULTCODEPAGE: 936