가장 간단한 방법은 환경 변수에 PROCESS_ARCHITECTURE 부분을 확인하는 겁니다.
문자열인데, 32비트 시스템에는 x86 이라고 들어가 있고,
64비트 시스템에는 AMD64 또는 IA64 라고 들어가 있습니다.
값이 없으면 x86으로 생각하시면 됩니다. (옛날 운영체제)
wchar_t pa[10] = {0};
GetEnvironmentVariableW(L"PROCESS_ARCHITECTURE",pa,9);
레지스트리 위치는 HKLM\System\CurrentControlSet\Control\Session Manager\Environment 입니다.
로더 님이 쓰신 글 :
: 현재 몇 비트의 윈도우를 사용하는지 알 수가 있을까요?
:
: 윈도우 관련 검색을 해보니 윈도우가 98이다 xp다 등 분류는 나와있던데
:
: 몇비트의 윈도우 인지는 나오질 않더군요..
:
: 혹시 레지스트리에 있지않을까 해서 검색을 해보니
:
: 검색경로1 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
: 검색경로2 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
:
: 에 위도우 관련 값들이 나오긴 하는데. 명확하게 이건 32비트야!! 이건 64비트야 하고 나온건 찾질 못했습니다.
:
: 그래서 경로 1의 값 중 ProgramFileDir (X86) 으로 정의 된게 있느냐? 없느냐? 로 구분을 해보려고 하는데
:
: 혹시 더 명확한 방법이 있는지 도움을 부탁드립니다.!!
|