![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
системное время и дата [D7, WinXP]
Viper © (2004-10-15 22:48:00)1)как отследить изменение системного времени и даты и
2)как программно изменить системное время и дату
3)как запретить изменять ситемное время и дату
Viper (2004-10-16 20:18:00) [1]спасибо за помощь
GanibalLector (2004-10-16 12:30:00) [2]
function SetNewDateTime(Value: TDateTime): boolean;
var
tSetDati: TDateTime;
vDatiBias: Variant;
tTZI: TTimeZoneInformation;
tST: TSystemTime;
begin
GetTimeZoneInformation(tTZI);
vDatiBias := tTZI.Bias / 1440;
tSetDati := Value + 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;
Result := Windows.SetSystemTime(tST);
end;
Viper (2004-10-16 11:58:00) [3]>SetSystemTime привиди пожалуста пример использования любой
GuAV (2004-10-15 23:08:00) [4]Хотя может насчёт никак я погорячился... можно фции API перевхватить :) или вообще отредактировать kernel32.dll :)
GuAV (2004-10-15 23:04:00) [5]
> 1)как отследить изменение системного времени и даты и
WM_TIMECHANGE
> 2)как программно изменить системное время и дату
SetSystemTime
> 3)как запретить изменять ситемное время и дату
Никак. можно попытаться возвращать его при изменении. для этого можно заранее сохранять старое и результат GetTickCount. (Этот самый TickCount AFAIK никак не меняется)