![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
2 вопроса [D6]
Пубертанец © (2003-09-02 17:39:00)
1) Хочу вызвать функцию AdjustTokenPrivileges для установления привилегии SE_SYSTEMTIME_NAME - как?
2) Почему, когда вызываю функцию SetSystemTime(lpSystemTime) у меня часы увеличиваются на 3 часа, чем задаю в lpSystemTime.wHour (var lpSystemTime: TSystemTime;)?
clickmaker (2003-09-03 11:15:00) [1]
1) Help по AdjustTokenPrivileges, там все это написано
2) GetTokenInformation
Пубертанец (2003-09-03 10:52:00) [2]
С AdjustTokenPrivileges я уже разобрался.
А вот с SE_SYSTEMTIME_NAME - в WinAPI help написано, что это константа, а где она прописана, не нашел. Дельфя не понимает ее.
Кстати, для развития темы:
1) как, наоборот, снять эту привилегию
2) как узнать, есть ли у пользователя эта привилегия
Игорь Шевченко (2003-09-03 10:22:00) [3]
F1 на строке с ошибкой и все станет ясно
Пубертанец (2003-09-03 10:02:00) [4]
Че-то ругается на SE_SYSTEMTIME_NAME:
Undeclared identifier: "SE_SYSTEMTIME_NAME"
А на AdjustTokenPrivileges(hToken, false, tkp, 0, nil, 0); говорит:
There is no overloaded version of "AdjustTokenPrivileges" that can be called with these arguments
Пубертанец (2003-09-02 18:02:00) [5]
Спасибо, но проверю уже завтра. Конец дня.
clickmaker (2003-09-02 17:59:00) [6]
1)
var hToken: THandle;
tkp: TOKEN_PRIVILEGES;
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken);
LookupPrivilegeValue(nil, SE_SYSTEMTIME_NAME, tkp.Privileges[0].Luid);
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, false, tkp, 0, nil, 0);
clickmaker (2003-09-02 17:56:00) [7]
2) SetLocalTime