Мой.ЧудоФорум.Ру
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Добавить в закладки
Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск

Вход

Забыли пароль?

Последние темы
» Как снять "защиту от записи" с MicroSD?
Как выключить компьютер с любой версией Windows EmptyВс Ноя 02 2014, 14:18 автор dimka

» Исходники игр на Паскале
Как выключить компьютер с любой версией Windows EmptyЧт Окт 16 2014, 13:18 автор tqq

» Помогите разблокировать smartbuy micro CD.
Как выключить компьютер с любой версией Windows EmptyСр Сен 24 2014, 14:40 автор Unearthly

» Исходники программ на Делфи для скачивания
Как выключить компьютер с любой версией Windows EmptyСр Июл 16 2014, 08:15 автор aleator

» Как прошить телефон Nokia?
Как выключить компьютер с любой версией Windows EmptyВт Май 06 2014, 12:42 автор vovan17

» Самопроизвольное отключение ноутбука
Как выключить компьютер с любой версией Windows EmptyВт Июл 09 2013, 21:17 автор Aleksei

» МР3-плеер NEXX nf-810
Как выключить компьютер с любой версией Windows EmptyПн Июл 01 2013, 09:11 автор Vitaliy_82

» Как снять защиту от записи на MicroSD
Как выключить компьютер с любой версией Windows EmptyВт Мар 26 2013, 16:25 автор katja*****

» Как передавать большие файлы с одного компьютера на другой быстро?
Как выключить компьютер с любой версией Windows EmptyПн Окт 01 2012, 20:07 автор irko

Счетчики
Rambler's Top100
Все файлы, находящиеся на сайте, были найдены в сети Интернет как свободно распространяемые и добавлены исключительно в ознакомительных целях.
Перепечатка материалов (в любом виде) с данного сайта без письменного разрешения администратора запрещена.
Copyright ©2010-2011 Mine.ChudoForum.Ru - Все права защищены

Как выключить компьютер с любой версией Windows

Перейти вниз

Как выключить компьютер с любой версией Windows Empty Как выключить компьютер с любой версией Windows

Сообщение автор den Ср Апр 20 2011, 09:21

function GetWinVersion: String;
var
VersionInfo : TOSVersionInfo;
OSName : String;
begin
// устанавливаем размер записи
VersionInfo.dwOSVersionInfoSize := SizeOf( TOSVersionInfo );

if Windows.GetVersionEx( VersionInfo ) then
begin
with VersionInfo do
begin
case dwPlatformId of
VER_PLATFORM_WIN32s : OSName := 'Win32s';
VER_PLATFORM_WIN32_WINDOWS : OSName := 'Windows 95';
VER_PLATFORM_WIN32_NT : OSName := 'Windows NT';
end; // case dwPlatformId
Result := OSName + ' Version ' + IntToStr( dwMajorVersion ) + '.' + IntToStr( dwMinorVersion ) +
#13#10' (Build ' + IntToStr( dwBuildNumber ) + ': ' + szCSDVersion + ')';
end; // with VersionInfo
end // if GetVersionEx
else
Result := '';
end;

procedure ShutDown;
const
SE_SHUTDOWN_NAME = 'SeShutdownPrivilege'; // Borland forgot this declaration
var
hToken : THandle;
tkp : TTokenPrivileges;
tkpo : TTokenPrivileges;
zero : DWORD;
begin
if Pos( 'Windows NT', GetWinVersion) = 1 then // we've got to do a whole buch of things
begin
zero := 0;
if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
begin
MessageBox( 0, 'Exit Error', 'OpenProcessToken() Failed', MB_OK );
Exit;
end; // if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)
if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
begin
MessageBox( 0, 'Exit Error', 'OpenProcessToken() Failed', MB_OK );
Exit;
end; // if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)


// SE_SHUTDOWN_NAME
if not LookupPrivilegeValue( nil, 'SeShutdownPrivilege' , tkp.Privileges[ 0 ].Luid ) then
begin
MessageBox( 0, 'Exit Error', 'LookupPrivilegeValue() Failed', MB_OK );
Exit;
end; // if not LookupPrivilegeValue( nil, 'SeShutdownPrivilege' , tkp.Privileges[0].Luid )
tkp.PrivilegeCount := 1;
tkp.Privileges[ 0 ].Attributes := SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges( hToken, False, tkp, SizeOf( TTokenPrivileges ), tkpo, zero );
if Boolean( GetLastError() ) then
begin
MessageBox( 0, 'Exit Error', 'AdjustTokenPrivileges() Failed', MB_OK );
Exit;
end // if Boolean( GetLastError() )
else
ExitWindowsEx( EWX_FORCE or EWX_SHUTDOWN, 0 );
end // if OSVersion = 'Windows NT'
else
begin // just shut the machine down
ExitWindowsEx( EWX_FORCE or EWX_SHUTDOWN, 0 );
end; // else
end;
den
den
Модератор
Модератор

Сообщения : 36
Благодарности : 11

https://mine.123.st

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения