在编写应用程序时,我们需要知道本机的一些配置信息,如货币符号、日期分隔符等。我们可以通过GetLocaleInfo这个API来取得。
在模块及声明做以下声明:
Private 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
Public Function WinLocaleInfo(ByVal lnfoType As Long) As String
Dim sLCData As String
Dim nRet As Long
nRet = GetLocaleInfo(0, lnfoType, sLCData, 0)
If nRet Then
sLCData = Space$(nRet)
nRet = GetLocaleInfo(0, lnfoType, sLCData, Len(sLCData))
If nRet Then
WinLocaleInfo = Left$(sLCData, nRet)
End If
End If
End Function
实际应用的时候,可传入的参数相当多,到底有多少我也说不清。不过不用担心,我们可以使用VB自带的API工具找到我们需要的参数。这些参数有一个特点,都是以 "LOCALE_" 为开头的字符串,举个例子。
LOCALE_SCURRENCY = &H14 '货币符号
LOCALE_SDATE = &H1D '日期分隔符
LOCALE_SDAYNAME1 = &H2A '完整星期名称
LOCALE_SDECIMAL = &HE '小数点符号
Private Sub Command1_Click()
Text1 = WinLocaleInfo(&H14) '可能传回 NT$
Text2 = WinLocaleInfo(&H1D) '可能传回 /
Text3 = WinLocaleInfo(&H2A) '可能传回 星期一
Text4 = WinLocaleInfo(&HE) '可能传回 .
End Sub
希望对大家有帮助!