大家是否发现自己做好的系统部署到其他计算机运行的时候,每台机的时间、日期、数字显示格式都不一样,导致显示的时候出错?例如当类型为小数时,有时候零什么都不显示,0.7只显示.7,又例如在自己的电脑显示时间如“2015/01/01 12::12:12”,把宽度调整为刚刚好,但在别的电脑却显示上下午导致显示不全?
这时候就需要自动设置系统设置。
首先声明变量
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
Private Declare Function GetSystemDefaultLCID Lib "Kernel32" () As Long
Private Declare Function SetLocaleInfo Lib "Kernel32" Alias "SetLocaleInfoW" ( _
ByVal Locale As Long, _
ByVal LCType As Long, _
ByVal lpLCData As Long) As Long
接着把下列代码复制到form_load或者按钮事件即可。
Dim dwLCID As Long
dwLCID = GetSystemDefaultLCID()
SetLocaleInfo dwLCID, 18, StrPtr("1")
SetLocaleInfo dwLCID, 31, StrPtr("yyyy/MM/dd")
SetLocaleInfo dwLCID, 32, StrPtr("yyyy‘年‘M’月‘d’日‘“)
SetLocaleInfo dwLCID, 4099, StrPtr("H:mm:ss")
其中 参数 18 是设置零起始值,31设置短日期格式 32设置长时间格式 4099设置时间格式