윈도우즈 64/32비트 판별 함수
Windows OS 64bit or 32bit detect cpp function
bool Is64bitOS()
{
    //IsWow64Process() 사용
        //64bit OS에서 32bit App이 실행될때만 TRUE
        //32bit OS 이거나 64bit App인 경우는 FALSE
    //BOOL bRet=0; IsWow64Process(GetCurrentProcess(), &bRet);
    SYSTEM_INFO si; 
    //GetSystemInfo(&si);    // 안됨 - PROCESSOR_ARCHITECTURE_INTEL 로 나옴 
    GetNativeSystemInfo(&si);//  Workded!!
    if( (si.wProcessorArchitecture & PROCESSOR_ARCHITECTURE_IA64)
        ||(si.wProcessorArchitecture & PROCESSOR_ARCHITECTURE_AMD64) ) 
    {
        return true;
    }else{
        return false;
    }
}
//==============
// 참고, 함수가 없다고 나오면 주소를 가져와야 한다.
// 함수포인터 사용
//GetNativeSystemInfo 함수 포인터.
typedef void ( WINAPI *LPFN_GETNATIVESYSTEMINFO )( LPSYSTEM_INFO ) ;
LPFN_GETNATIVESYSTEMINFO pfnGetNativeSystemInfo ;
//IsWow64PRocess 함수 포인터.
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);
LPFN_ISWOW64PROCESS pfnIsWow64Process;
{
    //주소 가져오기    
    pfnGetNativeSystemInfo = ( LPFN_GETNATIVESYSTEMINFO )GetProcAddress( GetModuleHandle( TEXT( "kernel32.dll" ) ), "GetNativeSystemInfo" ) ;
    pfnIsWow64Process = ( LPFN_ISWOW64PROCESS )GetProcAddress( GetModuleHandle( TEXT( "kernel32.dll" ) ), "IsWow64Process" ) ;
}