热情软件屋

 

如何在VB程序中确定Win 95的语种


编号:QA000011
建立日期: 1997年9月1日 最后修改日期:2000年12月20日
所属类别:

王超:
    如何在VB 4.0程序中确定Win 95的语种?能否通过某些API获得?

回答:

    可以有很多办法来确定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是简体中文。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio