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

Вниз

Вопрос о функции AdjustTokenPriveleges   Найти похожие ветки 

 
IKvasnitsky   (2003-06-10 11:41) [0]

Господа Мастера,
подскажите как правильно использовать функцию ExitWindowsEx в WindowsXP, чтобы выключить комп (EWX_SHUTDOWN).
Насколько я понял, надо установить привелегии с помощью AdjustTokenPrivileges,
но не смог разобраться КАК применить эту функцию.
Если не трудно приведите пример синтаксиса.


 
Игорь Шевченко ©   (2003-06-10 11:42) [1]

FAQ


 
IKvasnitsky   (2003-06-10 13:02) [2]

Спасибо, нашел. Хотя перед написанием вопроса искал и получил ответ, что ничего не найдено...


 
default ©   (2003-06-11 00:03) [3]

function ExitWindowsEx_(uFlags: Cardinal): Boolean;

function GetNeedPrivilege: Boolean;
var
tpnew: _TOKEN_PRIVILEGES;
luid: Int64;
rl, th: Cardinal;
begin

Result := False;
if OpenProcessToken(GetCurrentProcess,
TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, th) then
if LookupPrivilegeValue(nil, "SeShutDownPrivilege", luid) then begin
tpnew.PrivilegeCount := 1;
tpnew.Privileges[0].Luid := luid;
tpnew.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
Result := AdjustTokenPrivileges(th, False, tpnew, 0, nil, rl)
end

end;

var
vi: OSVERSIONINFO;
begin

Result := False;
vi.dwOSVersionInfoSize := SizeOf(vi);
GetVersionEx(vi);
if (vi.dwPlatformId = VER_PLATFORM_WIN32_NT) and (uFlags <> EWX_FORCE)
and (uFlags <> EWX_LOGOFF) then if not GetNeedPrivilege then Exit;
Result := ExitWindowsEx(uFlags, 0)

end;

я так писал)с проверкой платформы



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
14-33348
KILLER_ABV
2003-07-25 12:46
2003.08.11
Мастера подскожите как работать с модемами.


6-33250
ALeXiuS
2003-06-05 13:34
2003.08.11
Сокеты ERROR 10055, диплом горит


1-33091
Evg12
2003-07-26 19:44
2003.08.11
Таймер в микровекундах.


1-33103
Zheks
2003-07-29 16:55
2003.08.11
Округление


6-33236
napil
2003-06-01 04:14
2003.08.11
Потоковое AUDIO