Изменение системного времени из Delphi
Как я могу сменить системное время Windows 95 из программы, написанной на Delphi 2.0?
Вот правильное решение:
//*************************************************************************
// Функция (раздел Public) SetPCSystemTime изменяет системную дату и время.
// Параметр(ы) : tDati Новая дата и время
// Возвращаемые значения: True – успешное завершение
// False – метод не сработал
//*************************************************************************
function SetPCSystemTime(tDati: TDateTime): Boolean;
var
tSetDati: TDateTime;
vDatiBias: Variant;
tTZI: TTimeZoneInformation;
tST: TSystemTime;
begin
GetTimeZoneInformation(tTZI);
vDatiBias := tTZI.Bias / 1440;
tSetDati := tDati + vDatiBias;
with tST do begin
wYear:= StrToInt(FormatDateTime('yyyy', tSetDati));
wMonth:= StrToInt(FormatDateTime('mm', tSetDati));
wDay:= StrToInt(FormatDateTime('dd', tSetDati));
wHour:= StrToInt(FormatDateTime('hh', tSetDati));
wMinute:= StrToInt(FormatDateTime('nn', tSetDati));
wSecond:= StrToInt(FormatDateTime('ss', tSetDati));
wMilliseconds:= 0;
end;
SetPCSystemTime:= SetSystemTime(tST);
end;