Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизReboot Найти похожие ветки
← →
Konnor © (2006-05-23 09:17) [0]Доброго дня... Как в Windows XP добиться перзагрузки или завершения работы компьютера???? Функция
ExitWindows
выкидывает на экран выбора пользователей..
← →
Efir (2006-05-23 09:38) [1]Воспользуйся Api функцией
ExitWindowsEx(uFlags:UINT, 0);
uFlags может быть:
EWX_Forse - Форсировать выключение компьютера, выключат резко. Если были открыты какие-то приложения, можно потерять данные.
EWX_LOGOFF - менить пользователя.
EWX_POWERFULL- выключить ком и его систему питания.
EWX_REBOOT - перезагрузить.
EWX_SHUTDOWN - выключить комп, но не выключать систему питания.
← →
Konnor © (2006-05-23 10:07) [2]
ExitWindowsEx(EWX_FORCE,0);
- Не работает... эффект тот же... :( Может есть какие нибудь другие способы???
← →
Шмель © (2006-05-23 10:24) [3]
> Konnor
Зло какое-то хотите сотворить???...
← →
Konnor © (2006-05-23 10:38) [4]Все!!!. Сам разобрался... Efir спасибо, что натолкнул на нужные мысли.... Если у кого-то были подобные проблемы, ниже привожу код выключения машины (полное) под WinXP
var
ph: THandle;
tp, prevst: TTokenPrivileges;
rl: DWORD;
begin
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or
TOKEN_QUERY, ph);
LookupPrivilegeValue(nil, "SeShutdownPrivilege", tp.Privileges[0].Luid);
tp.PrivilegeCount := 1;
tp.Privileges[0].Attributes := 2;
AdjustTokenPrivileges(ph, FALSE, tp, SizeOf(prevst), prevst, rl);
ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0);
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c