[Delphi] Выключение компьютера по Button (Стеб) - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Alowir, Sanoxxx  
[Delphi] Выключение компьютера по Button (Стеб)
ChesterHelium Дата: Понедельник, 01.05.2017, 01:02 | Сообщение # 1
Боец
Сообщений: 212
Статус: Offline
Данные способы предназначены для стеба над друзьями, которым можно закинуть данные проекты на флэшки ))))
На форму добавить кнопку

1) Способ№1: Выключение с ожиданием в 1 минуту:
в кнопку добавить код:
Код
WinExec('shutdown -s',SW_SHOW);


2) Способ№2: Принудительное выключение
Весь код:
Код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  function MyExitWindows(RebootParam: Longword): Boolean;

implementation

{$R *.dfm}
function MyExitWindows(RebootParam: Longword): Boolean;
var
  TTokenHd: THandle;  
  TTokenPvg: TTokenPrivileges;  
  cbtpPrevious: DWORD;  
  rTTokenPvg: TTokenPrivileges;  
  pcbtpPreviousRequired: DWORD;  
  tpResult: Boolean;  
const
  SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';  
begin  
  if Win32Platform = VER_PLATFORM_WIN32_NT then  
  begin  
    tpResult := OpenProcessToken(GetCurrentProcess(),  
      TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,  
      TTokenHd);  
    if tpResult then  
    begin  
      tpResult := LookupPrivilegeValue(nil,  
                    SE_SHUTDOWN_NAME,  
                    TTokenPvg.Privileges[0].Luid);  
      TTokenPvg.PrivilegeCount := 1;  
      TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;  
      cbtpPrevious := SizeOf(rTTokenPvg);
      pcbtpPreviousRequired := 0;  
      if tpResult then  
        Windows.AdjustTokenPrivileges(TTokenHd,  
                    False,  
                    TTokenPvg,  
                    cbtpPrevious,
                    rTTokenPvg,
                    pcbtpPreviousRequired);
    end;
  end;
  Result := ExitWindowsEx(RebootParam, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MyExitWindows(EWX_POWEROFF or EWX_FORCE);
end;

end.


3) Способ №3: Отключение питания НЕ СОВЕТУЮ!! КОМПЬЮТЕР ВЫКЛЮЧАЕТСЯ,
КАК ПРИ ВЫДЕРГИВАНИИ ИЗ РОЗЕТКИ!!

весь код:
Код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  _SHUTDOWN_ACTION = (
    ShutdownNoReboot,
    ShutdownReboot,
    ShutdownPowerOff);
  SHUTDOWN_ACTION = _SHUTDOWN_ACTION;
  TShutdownAction = SHUTDOWN_ACTION;

  NTSTATUS = Longint;
  PNTSTATUS = ^NTSTATUS;
  TNTStatus = NTSTATUS;

  function  NtShutdownSystem(Action : SHUTDOWN_ACTION): NTSTATUS; stdcall; external 'ntdll.dll';

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var   
  hToken: THandle;
  tkp, prevst: TTokenPrivileges;   
  rl: DWORD;   
begin
  OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken);

  LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid);
  tkp.PrivilegeCount := 1;
  tkp.Privileges[0].Attributes := 2;

  AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(prevst), prevst, rl);

  NtShutdownSystem(ShutdownPowerOff);
end;

end.




Сидим в VK с разных профилей в одном браузере
Бесплатно отправляем смс-сообщения
Обход подписи в 255 символов на SAMP-RP
Способ накрутки личных сообщений в ВК
Халявные дедики
[DELPHI] - Выключение компьютера по Button'у
[DELPHI] - Запрос логина и пароля на форме
Делаем убийственные .BAT файлы
Скрипт для e-mail рассылки до 100к в сутки
Обход авторизации на бесплатных точках WiFi
Флэшка - убийца для быстрого сноса винды
Расширение для Google Chrome - Бесконечный набор сообщения (Бесконечный карандаш)
Заливаем фотографии / смотрим истории в instagram с компьютера
Получаем письма с Америки, Канады, Аляски и т.д. с оф. нашивками пожарных

[CM]Keng Дата: Среда, 26.07.2017, 22:25 | Сообщение # 2
Боец
Сообщений: 83
Статус: Offline
Ахаха, найс зарофлил над другом, спасибо

HitriyLis Дата: Пятница, 15.09.2017, 17:18 | Сообщение # 3
Новичок
Сообщений: 25
Статус: Offline
Полезно.

• Цель: 100 репутации ★
• Цель: 200 репутации ★
• Цель: 300 репутации ★
• Цель: 400 репутации ★
• Цель: 500 репутации
• Цель: 600 репутации
• Цель: 700 репутации
• Цель: 800 репутации
• Цель: 900 репутации
• Цель: 1000 репутации





Сообщение отредактировал HitriyLis - Пятница, 15.09.2017, 17:18
  • Страница 1 из 1
  • 1
Поиск: