오늘은 윈도우 OS가 몇 비트인지 확인하는 함수를 알아보겠습니다.
우선 내 컴퓨터 우클릭 -> 속성에 들어가면 아래와 같이 몇비트 인지 확인 할 수 있습니다.
GetNativeSystemInfo함수를 사용하면 손쉽게 알아낼 수 있습니다. 함수 원형은 아래와 같습니다.
void GetNativeSystemInfo(
LPSYSTEM_INFO lpSystemInfo
);
해당 함수는 최소 Windows XP, Windows Server2003부터 지원합니다. 또한 아래 헤더와 라이브러리를 포함해야합니다.
Header | sysinfoapi.h(include Windows.h) |
Library | Kernel32.lib |
사용 방법은 아래와 같습니다.
SYSTEM_INFO SystemInfo;
memset( &SystemInfo, 0, sizeof(SystemInfo) );
::GetNativeSystemInfo( &SystemInfo );
BOOL is64bitOS = FALSE;
if ( SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 )
is64bitOS = TRUE;
만약 위 사양으로 인해 GetNativeSystemInfo를 사용할 수 없으면 아래와 같이 GetSystemInfo 함수를 사용하면 됩니다.
typedef void (WINAPI *FN_GetNativeSystemInfo)(LPSYSTEM_INFO);
HMODULE hmKernel32 = GetModuleHandle( _T( "kernel32.dll" ) );
FN_GetNativeSystemInfo fnGetNativeSystemInfo = (FN_GetNativeSystemInfo)GetProcAddress( hmKernel32, "GetNativeSystemInfo" );
if ( fnGetNativeSystemInfo )
fnGetNativeSystemInfo( &SystemInfo );
else
GetSystemInfo( &SystemInfo );
BOOL is64bitOS = FALSE;
if ( SystemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 )
is64bitOS = TRUE;
이상으로 Windows OS 비트 확인 하는 방법 알아봤습니다.