Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как выключить Win2000

Delphi , ОС и Железо , Компьютер

Как выключить Win2000


Автор: Prankster

Один другому показывает какой он крутой комп купил. И процессор охрененный и памяти вагон, тивитюнер, сканер, принтер, сидюк, ... , Windows 2000 :)) Включает, а винды ему: - Внимание сейчас попытаюсь со всей этой х....й загрузиться !!!

Известно, что с помощью стандартных функций Windows 2000 не вырубишь. Сегодня мы напишем прогу на WinApi, выключающую W2k, и занимающую всего 10 Кб! Создай обычный текстовый документ, открой его любым редактором, и пиши туда такую хрень:


program reboot;

uses
  Windows, messages;

procedure RebootSystem;
var
  handle_: THandle;
  n: DWORD;
  luid: TLargeInteger;
  priv: TOKEN_PRIVILEGES;
  ver: TOSVERSIONINFO;
begin
  ver.dwOSVersionInfoSize := Sizeof(ver);
  GetVersionEx(ver);
  if ver.dwPlatformId=VER_PLATFORM_WIN32_NT then
  begin
    if OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, handle_) then
      if LookupPrivilegeValue(nil, 'SeShutdownPrivilege', luid) then
      begin
        priv.PrivilegeCount := 1;
        priv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
        priv.Privileges[0].Luid := luid;
        AdjustTokenPrivileges(handle_, false, priv, 0, nil, n);
      end
      else
        writeln('Ошибка')
    else
      writeln('Ошибка ');
  end
  else
    writeln('Ошибка ');
  if not ExitWindowsEx(EWX_POWEROFF,1) then
    writeln('Ошибка');
end;

begin
  RebootSystem;
end.

Сохрани этот файл под именем Reboot.dpr, открой из Delphi, и компилируй!

Программа на Delphi, использующая WinAPI для отключения системы Windows 2000. Вот шаг за шагом, что она делает:

  1. Программа включает в себя два модуля: Windows и messages. Они являются частью библиотек Borland Pascal (Delphi).
  2. Определен процедура RebootSystem, которая выполняет фактическое отключение операционной системы.
  3. В процедуре RebootSystem объявлены следующие переменные:
    • handle_: обработчик процесса токена
    • n: неотрицательное целое число (вероятно, используется как буфер для ошибок)
    • luid: большое целое число (используется для хранения уровня привилегии)
    • priv: структура, содержащая информацию о уровне привилегии
    • ver: структура TOSVERSIONINFO, которая хранит информацию о версии операционной системы.
  4. Программа проверяет, является ли текущая платформа Windows NT 32-разрядной (Windows 2000), и если да:
    • Открывает процесс-токен с помощью OpenProcessToken.
    • Ищет уровень привилегии для отключения системы (SeShutdownPrivilege) с помощью LookupPrivilegeValue.
    • Если успешно, adjusts token privileges с помощью AdjustTokenPrivileges, включая привилегию отключения.
  5. Программа затем вызывает ExitWindowsEx с двумя параметрами:
    • EWX_POWEROFF: указывает, что система должна быть отключена (отключена).
    • 1: дополнительный параметр для дополнительных действий при отключении.
  6. Если какой-либо из этих шагов неудачен, программа выводит сообщение об ошибке в консоль.
  7. Наконец, процедура RebootSystem вызывается один раз для выполнения фактического отключения операционной системы.

Чтобы использовать это код, сделайте следующее:

  1. Создайте новый текстовый файл и назвайте его Reboot.dpr.
  2. Откройте файл с помощью Delphi (или любого другого компилятора Pascal).
  3. Вставьте код в редактор.
  4. Скомпилируйте программу, кликнув на кнопку "Выполнить" или нажав F9.

Обратите внимание, что это код специфичен для Windows 2000, поэтому вам может потребоваться модификация его для более новых версий Windows. Кроме того, будьте осторожны при запуске этого кода, так как он может потенциально повредить вашу систему, если не используется правильно!

В статье описывается способ создания программы на WinApi для выключения операционной системы Windows 2000 с помощью функции ExitWindowsEx.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Компьютер ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-05-11 21:14:02/0.0079431533813477/1