Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
_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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
1-31288
Disa
2003-06-26 14:30
2003.07.10
Поддержка таблиц


14-31439
BaRToV
2003-06-21 02:40
2003.07.10
Как будет выглядить ASM втавка:


1-31317
Hollander
2003-06-26 21:08
2003.07.10
Из системы открывают файл, как его загрузить в Memo


1-31204
evg12
2003-06-28 03:32
2003.07.10
Вопросик по защите.


1-31191
ОРЕН
2003-06-27 21:24
2003.07.10
Вставить строку в чужую программу.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский