如果基础Windows是32位或64位版本,如何在正在运行的C ++ / Qt应用程序中检测?

时间:2011-09-28 13:52:27

标签: c++ windows qt 32bit-64bit

  

可能重复:
  Detect whether current Windows version is 32 bit or 64 bit
  Correct way to check if Windows is 64 bit or not, on runtime? (C++)

我发现了一些关于这个主题的问题,但不完全是我需要的。

我正在开发一个完全跨平台的C ++ / Qt应用程序,除了一些预编译的.exe应用程序必须运行。 (只有Windows与问题相关)。我有这些可执行文件的32和64位Windows版本。 我知道一个选项是打包整个应用程序的两个版本,但代码中的更改将是如此之小,我想考虑其他替代方案。

那么,有没有办法在运行时使用C ++ / Qt功能检测底层Windows是32位还是64位版本?

谢谢!

1 个答案:

答案 0 :(得分:1)

不,但您可以调用WINAPI函数告诉您。

致电GetNativeSystemInfo()。如果您运行的是x64,则SYSTEM_INFO::wProcessorArchitecture将为PROCESSOR_ARCHITECTURE_AMD64。如果32 x86位,它将是PROCESSOR_ARCHITECTURE_INTEL