你运气好,刚做的顺道让你测试一下,哈哈! var reg:tregistry; begin Reg:= TRegistry.Create; try Reg.RootKey:= HKEY_CURRENT_USER; if Reg.OpenKey('Control Panel\International',true) then begin Reg.WriteString('sshortdate','yyyy-MM-dd'); Reg.WriteString('stimeformat','HH:mm:ss'); end; Reg.CloseKey; finally Reg.Free; end; SendMessage(HWND_BROADCAST,WM_WININICHANGE,0,LongInt(nil)); end;
kks(峰) 谢谢你!但好象有问题!我的机器是98!
98和2000中文版没有问题,英文版就不知道了 Begin SetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SDATE,'YYYY-MM-DD' ); SetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_STIMEFORMAT,'HH:mm:ss' ); SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0,0); End;
// DateFullYear := True;
// DateLeadZero := True;
ShortDateFormat:='yyyy-mm-dd'
var
reg:tregistry;
begin
Reg:= TRegistry.Create;
try
Reg.RootKey:= HKEY_CURRENT_USER;
if Reg.OpenKey('Control Panel\International',true) then
begin
Reg.WriteString('sshortdate','yyyy-MM-dd');
Reg.WriteString('stimeformat','HH:mm:ss');
end;
Reg.CloseKey;
finally
Reg.Free;
end;
SendMessage(HWND_BROADCAST,WM_WININICHANGE,0,LongInt(nil));
end;
Begin
SetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SDATE,'YYYY-MM-DD' );
SetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_STIMEFORMAT,'HH:mm:ss' );
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0,0);
End;