为什么用SetSystemTime函数设置系统时间会出错?怎么解决这个问题啊

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
       T:SYSTEMTIME;
    begin
        GetLocalTime(T);
        T.wHour := 16;
        if SetLocalTime(T) then
           ShowMessage('OK');
    end;
      

  2.   

    设置当前系统时间 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    lpSystemTime SYSTEMTIME,这个结构指定了新的地方时间。其中的wDayOfWeek条目会被忽略 
      

  3.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
    systemtime:Tsystemtime;
    DateTime:TDateTime;
    begin
    Edit1.Text:='2003-7-24 19:58:35';
    DateTime:=StrToDateTime(Edit1.text); //获得时间(TDateTime格式)
    DateTimeToSystemTime(DateTime,systemtime);  //把Delphi的TDateTime格式转化为API的TSystemTime格式
    SetLocalTime(SystemTime);         //设置系统时间
    GetLocalTime(SystemTime);       //读取系统时间
    DateTime:=SystemTimeToDateTime(SystemTime);  //把API的TSystemTime格式 转化为 Delphi的TDateTime格式
    Edit2.Text:=DateTimeToStr(DateTime); //显示当前系统的时间
    end;
    试试看,好象可以。