asm {
xor eax, eax // eax = 0
mov [eax], eax // AV @ 0x00000000
} end;
Как перезагрузить комп моментально?
Как перезагрузить комп без завершения задач....т.е. чтобы перезагрузка произошла моментально...как это будет сделано - неважно сбой или как-то при помощи ассемблера...главное чтобы комп перезагрузился...состояние винды после такой перезагрузки не волнует т.е. она может потом вовсе не загрузиться....ГЛАВНОЕ чтобы это было моментально! Реально это сделать??приведите пример плз
Если моментально, то могу посоветовать только одно - ащипака в привилегированном режиме процессора ( ring0 ) приведет к синему экрану (BSOD) с последующей перезагрузкой. Т.е. пишешь например псевдодрайвер и в нем чонить смешное вроде
а есть что-нить попроще?....без драйверов жжалательно на уровне приложения??
Цитата: _io_lock
Код:
asm {
xor eax, eax // eax = 0
mov [eax], eax // AV @ 0x00000000
} end;
xor eax, eax // eax = 0
mov [eax], eax // AV @ 0x00000000
} end;
Да и кстати он может и не перезагрулиться если отключена перезагрузка при критических ошибках....
ЗЫ а что ты после БСОДА делаешь? Перезагружаешься наверное ;)
P.S. А перезагрузка при BSOD у меня отключена
Цитата: _io_lock
ЗЫ а что ты после БСОДА делаешь? Перезагружаешься наверное ;)
:) логично...
Цитата: el scorpio
У меня была программа какая-то. Вроде полезная, но при некоторых неизвестных обстоятельствах, комп перезагружала влёт :(
Поищи исходники оч нужны..
Семь бед - один ресет )))))))))))
Код:
mov al, 0xfe
out 0x64, al
out 0x64, al
Есссесна надо этот код поместить в драйвер:о) Если трудно с этим могу набросать простенький драйвер и функцию вызова его "сверху" :о) надо? ;о)
Цитата: ШпиЁн
Из многих источников известно, что следующая последовательность перезагружает быстро :о)
Есссесна надо этот код поместить в драйвер:о) Если трудно с этим могу набросать простенький драйвер и функцию вызова его "сверху" :о) надо? ;о)
Код:
mov al, 0xfe
out 0x64, al
out 0x64, al
Есссесна надо этот код поместить в драйвер:о) Если трудно с этим могу набросать простенький драйвер и функцию вызова его "сверху" :о) надо? ;о)
да плиз....
cmd
shutdown -r Перезагрузка ПК
shutdown -f Принудительная перезагрузка ПК
Честно говоря мне больше последний вариант нравиться =)
cmd
shutdown -r Перезагрузка ПК
shutdown -f Принудительная перезагрузка ПК
Честно говоря мне больше последний вариант нравиться =)
Киньте fast_r.sys на диск С, и запустите loader.exe... и будет вам счастье :о)))
в szDriverPath можно прописать другой ПОЛНЫЙ путь к драйверу.
вызвали load_driver() где-нибудь в начале своей проги, а в момент когда нужно перезагрузить - вызвали fast_reboot(). Если вдруг перезагружать не понадобилось - вызываем в конце своей проги unload_driver() - сервис остановится, драйвер выгрузится.
В "дровописании" я начинающий, но если возникнут вопросы - могу объяснить хоть каждую строчку, там нет ничего сложного :о)
Alexion, shutdown -f -----> таким способом ты МЕДЛЕННО перезагрузишь машину и система будет знать об этом ;о) Если вдруг хочешь сделать ей сюрприз - надо делать как я обрисовал в примере.
Цитата: ШпиЁн
Вот, я набросал нечто работающее :о)
Киньте fast_r.sys на диск С, и запустите loader.exe... и будет вам счастье :о)))
в szDriverPath можно прописать другой ПОЛНЫЙ путь к драйверу.
вызвали load_driver() где-нибудь в начале своей проги, а в момент когда нужно перезагрузить - вызвали fast_reboot(). Если вдруг перезагружать не понадобилось - вызываем в конце своей проги unload_driver() - сервис остановится, драйвер выгрузится.
В "дровописании" я начинающий, но если возникнут вопросы - могу объяснить хоть каждую строчку, там нет ничего сложного :о)
Киньте fast_r.sys на диск С, и запустите loader.exe... и будет вам счастье :о)))
в szDriverPath можно прописать другой ПОЛНЫЙ путь к драйверу.
вызвали load_driver() где-нибудь в начале своей проги, а в момент когда нужно перезагрузить - вызвали fast_reboot(). Если вдруг перезагружать не понадобилось - вызываем в конце своей проги unload_driver() - сервис остановится, драйвер выгрузится.
В "дровописании" я начинающий, но если возникнут вопросы - могу объяснить хоть каждую строчку, там нет ничего сложного :о)
Задолбала проблема с терминалом, когда из за какого то принтера виснет сервер (точнее не совсем виснет - все программы работают), но убить некоторые запущенные процессы невозможно, также невозможно стандартно перезагрузиться - экран "завершение работы компьютера" висит бесконечно. Эта программа меня очень здорово выручила! ps. Мож кстати кто подскажет, почему так происходит с виндой?
Винда не завершает процессы если они исполняются в режиме ядра. Она ждёт, чтобы управление вернулось на пользовательский код. А если завис именно код ядра (драйвер, к примеру), то она будет бесконечно долго ждать его завершения. Кстати, постоянно перезагружаться описанным выше способом не стоит. Так можно и файловую систему подпортить если происходила запись. Особенно если у вас не NTFS, а FAT32.