在windows OS下,如何通过程序来判断该平台为32bit 或者 64 bit ?

解决方案 »

  1.   

    SYSTEM_INFO si; 
    GetNativeSystemInfo(&si); if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ||   si.wProcessorArchitecture != PROCESSOR_ARCHITECTURE_IA64 ) {     //64 位操作系统 } else {     // 32 位操作系统 } 
      

  2.   


    #include <windows.h>typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);BOOL IsWow64()
    {
      LPFN_ISWOW64PROCESS fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(
        GetModuleHandle("kernel32"),
        "IsWow64Process"
        );
      BOOL           bIsWow64 = FALSE;  if (NULL != fnIsWow64Process)
      {
        if (!fnIsWow64Process(GetCurrentProcess(),&bIsWow64))
        {
          // Error handle
          return FALSE;
        }
      }
      return bIsWow64;
    }
    BOOL Is64BitWindows()
    {
    #if defined(_WIN64)  return TRUE; // 64-bit programs run only on Win64#else // _WIN32  // 32-bit programs run on both 32-bit and 64-bit Windows
      // so must sniff
      return IsWow64();#endif}
      

  3.   

     谢楼上的朋友
    GetNativeSystemInfo这个api vc6里面找不到
    我换成了GetSystemInfo