Один другому показывает какой он крутой комп купил. И процессор охрененный и памяти вагон, тивитюнер, сканер, принтер, сидюк, ... , Windows 2000 :))
Включает, а винды ему:
- Внимание сейчас попытаюсь со всей этой х....й загрузиться !!!
Известно, что с помощью стандартных функций Windows 2000 не вырубишь. Сегодня мы напишем прогу на WinApi, выключающую W2k, и занимающую всего 10 Кб! Создай обычный текстовый документ, открой его любым редактором, и пиши туда такую хрень:
Сохрани этот файл под именем Reboot.dpr, открой из Delphi, и компилируй!
Программа на Delphi, использующая WinAPI для отключения системы Windows 2000. Вот шаг за шагом, что она делает:
Программа включает в себя два модуля: Windows и messages. Они являются частью библиотек Borland Pascal (Delphi).
Определен процедура RebootSystem, которая выполняет фактическое отключение операционной системы.
В процедуре RebootSystem объявлены следующие переменные:
handle_: обработчик процесса токена
n: неотрицательное целое число (вероятно, используется как буфер для ошибок)
luid: большое целое число (используется для хранения уровня привилегии)
priv: структура, содержащая информацию о уровне привилегии
ver: структура TOSVERSIONINFO, которая хранит информацию о версии операционной системы.
Программа проверяет, является ли текущая платформа Windows NT 32-разрядной (Windows 2000), и если да:
Открывает процесс-токен с помощью OpenProcessToken.
Ищет уровень привилегии для отключения системы (SeShutdownPrivilege) с помощью LookupPrivilegeValue.
Если успешно, adjusts token privileges с помощью AdjustTokenPrivileges, включая привилегию отключения.
Программа затем вызывает ExitWindowsEx с двумя параметрами:
EWX_POWEROFF: указывает, что система должна быть отключена (отключена).
1: дополнительный параметр для дополнительных действий при отключении.
Если какой-либо из этих шагов неудачен, программа выводит сообщение об ошибке в консоль.
Наконец, процедура RebootSystem вызывается один раз для выполнения фактического отключения операционной системы.
Чтобы использовать это код, сделайте следующее:
Создайте новый текстовый файл и назвайте его Reboot.dpr.
Откройте файл с помощью Delphi (или любого другого компилятора Pascal).
Вставьте код в редактор.
Скомпилируйте программу, кликнув на кнопку "Выполнить" или нажав F9.
Обратите внимание, что это код специфичен для Windows 2000, поэтому вам может потребоваться модификация его для более новых версий Windows. Кроме того, будьте осторожны при запуске этого кода, так как он может потенциально повредить вашу систему, если не используется правильно!
В статье описывается способ создания программы на WinApi для выключения операционной системы Windows 2000 с помощью функции ExitWindowsEx.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.