Сегодня мы напишем прогу на WinApi, выключающую W2k, и занимающую всего 10 Кб!
Code: |
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. |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!