Блин... Моя невнимательность просто меня убивает!
В SDK написано, что ExitWindowsEx в WinNT только завершает сеанс! Для перезагрузки в WinNT необходимо использовать функцию AdjustTokenPrivileges, что было продемонстрировано в коде, что ты привёл. Для того чтобы Делфи понимала TShutdownEx, нужно после implementation дописать type TShutdownEx = class(Exception);
Так что код ты привел вполне работоспособен. Я даже его протестил. Правда на виртуальной машине, однако и она была выключена БЕЗ взяких вопросов.
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
|