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

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

<分区>

Possible Duplicate:
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 位版本?

谢谢!

最佳答案

没有,但是您可以调用 WINAPI 函数来告诉您这一点。

调用GetNativeSystemInfo() .如果您运行的是 x64,SYSTEM_INFO::wProcessorArchitecture 将是 PROCESSOR_ARCHITECTURE_AMD64。如果是 32 x86 位,它将是 PROCESSOR_ARCHITECTURE_INTEL

关于c++ - 如果底层 Windows 是 32 位或 64 位版本,如何在正在运行的 C++/Qt 应用程序中进行检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7584346/

相关文章:

python - PyQt QAbstractTableModel 在添加行时从不更新

c++ - 我可以取消选中组框中的一组 RadioBottoms 吗?

java - 托盘图标通知气球不适用于 Windows 10

c# - 让windows决定如何打开/运行文件?

c++ - QT宏Q_SLOTS后类访问限制

c++ - 遍历数据结构中所有可能的元素

c# - Hook 应用

c++ - 我可以有正确的 qmake,但有错误的 qt 吗?

相当于Rust枚举的C++

c++ - 数组元素的总和返回错误值