Подскажите, как программным способом перезагрузить компьютер с эффектом как после нажатия кнопки Reset (без WM_....ENDSESSION)? Здесь http://www.dinform.ru/kuban/htmls/public_htmls/2-6452.html это обсуждалось, предлагалось на ring0 вызвать ошибку в kernel-е, но работающего кода так и не сделали... Код такой очень нужен для перезагрузки удаленного и наполовину подвисшего после какой-нибудь "Недопустимой операции" Win98, т.к. обычное "Завершение работы" вызывает только полное зависание системы в этом случае, а доступа к физической кнопке Reset нету. Аналогов такого кода в инете, к сожалению, не нашел (поиском пользоваться умею). Хотя вещь очень нужная. Было бы здорово, если б такой код еще и под всеми виндами работал, но актуально в данный момент на самом деле только win98.
На NT есть обработчик hal!HalApicRebootService, который можно установить в ring-0 и вызывать из ring-3.
Кстати, если Win9x, то прокатит и из ring3. Недостаток -- не все чипсеты поддерживают. [add] На том форуме ведь сказали про 0CF9h, чем не понравилось? [/add]
Не нравится CF9h, можно так: Код (Text): mov al, 1 out 92h, al Также можно дедовским методом, через контроллер клавиатуры.