Code: Select all
Const LOCALE_SDECIMAL = &HE
Const LOCALE_SLONGDATE = &H20
Const LOCALE_SSHORTDATE = &H1F
Const LOCALE_SCURRENCY = &H14
Const LOCALE_STHOUSAND = &HF
Const LOCALE_SINTLSYMBOL = &H15
Const LOCALE_STIMEFORMAT = &H1003
Private Const WM_SETTINGCHANGE = &H1A
Private Const HWND_BROADCAST = &HFFFF&
'Kernel Decleration
Public Declare Function GetLocaleInfo Lib "kernel32" _
Alias "GetLocaleInfoA" (ByVal lLocale As Long, _
ByVal lLocaleType As Long, ByVal sLCData As String, _
ByVal lBufferLength As Long) As Long
Private Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Private Declare Function PostMessage Lib "user32" _
Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
'Convert system date format in system
Public Sub ConvertSysDate()
Dim dwLCID As Long
dwLCID = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, sBuffer, lBuffLen)
If SetLocaleInfo(dwLCID, LOCALE_SSHORTDATE, "dd/MM/yyyy") = False Then Exit Sub
PostMessage HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0
End Sub
'Convert system Time format in system
Public Sub ConvertSysTime()
Dim dwLCID As Long
dwLCID = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STIMEFORMAT, sBuffer, lBuffLen)
If SetLocaleInfo(dwLCID, LOCALE_STIMEFORMAT, "h:mm:ss tt") = False Then Exit Sub
PostMessage HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0
End Sub
'Convert system CURRENCY Symbol in system
Public Sub ConvertSysCurrency()
Dim dwLCID As Long
dwLCID = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SCURRENCY, sBuffer, lBuffLen)
If SetLocaleInfo(dwLCID, LOCALE_SCURRENCY, "$") = False Then Exit Sub
PostMessage HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0
End Sub
' Convert system Decimal Symbol in system
Public Sub ConvertSysDecimal()
Dim dwLCID As Long
dwLCID = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, sBuffer, lBuffLen)
If SetLocaleInfo(dwLCID, LOCALE_SDECIMAL, ".") = False Then Exit Sub
PostMessage HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0
End Sub