|
최준호.스페로 님이 쓰신 글 :
: 이함수를 이용하면 98에서는 컴퓨터를 끌수 있습니다.
: 윈도우2000 계열에서는 로그오프만 되거든요
:
: 윈도우2000에서 전원을 종료하는 방법을 아시는분 갈켜주세요
아래와 같이 해보세요..NT계열에서의 리부팅 및 전원종료 입니다.
void reboot()
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
// English: What Operating System ?
// Portugues: Qual Sistema Operacional ?
OSVERSIONINFO info;
info.dwOSVersionInfoSize = sizeof(info);
GetVersionEx(&info);
// Windows NT ?
if( info.dwPlatformId == VER_PLATFORM_WIN32_NT )
{
if( ! OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) )
return( false );
LookupPrivilegeValue( NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid );
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges( hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES) NULL, 0 );
if( GetLastError() != ERROR_SUCCESS )
return( false );
}
return( ExitWindowsEx( EWX_SHUTDOWN, 0 ) );
}
|