Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.10;
Скачать: CL | DM;

Вниз

Установка системного времени   Найти похожие ветки 

 
_ALEXey_ ©   (2003-04-22 08:11) [0]

Здравствуйте!

Проблема:
Необходимо программно устанавливать системное время. По Win9x - все просто SetSystemTime, а под WinNT необходимо установить привилегии - это я знаю. Но вот почему-то SeSystemtimePrivilege не работает!
Вопрос 1:
В чем загвоздка?


// увеличить время на 1 час
procedure TForm1.Button1Click(Sender: TObject);
var
CurTime: _SYSTEMTIME;
hToken: THandle;
NewState: TOKEN_PRIVILEGES;
D: DWord;
begin
D:= 0;
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
NewState.PrivilegeCount:= 1;
LookupPrivilegeValue(nil, "SeSystemtimePrivilege", NewState.Privileges[0].Luid);
NewState.Privileges[0].Attributes:= SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, NewState, D, nil, D);
CloseHandle(hToken);
DecodeDate(Now, CurTime.wYear, CurTime.wMonth, CurTime.wDay);
DecodeTime(Now, CurTime.wHour, CurTime.wMinute, CurTime.wSecond, CurTime.wMilliseconds);
CurTime.wHour:= CurTime.wHour + 1;
SetSystemTime(CurTime);
end;


Вопрос 2:
Согласно коду, время должно увеличиваться на 1 час. Я проверял (с правами админа) - оно увеличивается на 7 часов. Почему так?


 
Anatoly Podgoretsky ©   (2003-04-22 12:28) [1]

Ну наверно у тебя такое локальное время.


 
_ALEXey_ ©   (2003-04-22 13:31) [2]


> Anatoly Podgoretsky ©

Какое уж есть!


 
_ALEXey_ ©   (2003-04-24 18:41) [3]

С SetLocalTime такая же история. Ошибка 1314 - недостаточно прав. Какие еще привилегии нужны?


 
_ALEXey_ ©   (2003-04-28 09:25) [4]

Отвечу сам себе на вопрос 2:
Надо было учесть временнУю зону.


 
Anatoly Podgoretsky ©   (2003-04-28 11:34) [5]

SetSystemTime как раз для того, что бы не учитывать временную зону - в UTC
Для других случаев SetLocalTime



Страницы: 1 вся ветка

Текущий архив: 2003.07.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
4-31569
Dzuk
2003-05-06 21:21
2003.07.10
Как симулировать нажатие правой кнопки мыши с помощью WM_RBUTTOND


14-31464
Ru
2003-06-20 15:32
2003.07.10
Русскоязычное описание звуковых библиотек BASS & FMOD


14-31468
euru
2003-06-20 12:03
2003.07.10
Шаблоны и ООП


14-31453
XobBIT
2003-06-17 23:20
2003.07.10
Кнопка помощи в заголовке формы


3-31122
Rel_
2003-06-17 12:06
2003.07.10
SQL запрос