请问怎么用VB代码判断操作系统的语言种类??

解决方案 »

  1.   

    参考api函数GetLocalInfo,
    下面是delphi部分代码。
      GetLocaleInfo(SysLocale.DefaultLCID,LOCALE_SABBREVLANGNAME,LocaleName,SizeOf(LocaleName));
      

  2.   

    GetLocaleInfo VB声明 
    Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long 
    说明 
    取得与指定“地方”有关的信息 
    返回值 
    Long,装载到缓冲区的字符数,或者cchData要求的缓冲区长度。零表示出错。会将GetLastError设为下述值之一:ERROR_INSUFFICIENT_BUFFER,ERROR_INVALID_FLAGS,ERROR_INVALID_PARAMETER 
    参数表 
    参数 类型及说明 
    Locale Long,欲为其获得信息的地方ID 
    LCType Long,要取回的信息类型。参考api32.txt文件中带 LOCALE_ 前缀的常数。用OR运算符合并LOCALE_NOUSEROVERRIDE,从而强制使用系统默认信息——即使当前用户已修改了相关设置 
    lpLCData String,指定一个缓冲区,用于装载要求的信息。注意预先将字串格式化成合适的长度 
    cchData Long,lpLCData缓冲区的长度;如设为零,表示获取必要的缓冲区长度 
      

  3.   

    用api函数GetSystemDefaultLCID:Option Explicit
    Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As LongPrivate Sub Command1_Click()
        Dim LocaleID As Long
        LocaleID = GetSystemDefaultLCID
        Select Case LocaleID
        Case &H404
            MsgBox "中文繁体"
        Case &H804
            MsgBox "中文简体"
        Case &H409
            MsgBox "english"
        Case Else
            MsgBox "其它返回值,可查找msdn"
        End Select
    End Sub