我想检测当前的 Windows 操作系统是 32 位还是 64 位。如何使用 C++ 实现它?我不想要处理器类型我想要操作系统的位类型。这是因为您可以在 64 位处理器上安装 32 位操作系统。
原文由 Rahul 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想检测当前的 Windows 操作系统是 32 位还是 64 位。如何使用 C++ 实现它?我不想要处理器类型我想要操作系统的位类型。这是因为您可以在 64 位处理器上安装 32 位操作系统。
原文由 Rahul 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是一个未记录的方法…
bool _Is64BitOS(void);
bool _Is64BitOS(void) {
unsigned int version = *((unsigned int)*)0x7FFE026C;
unsigned int address = version == 10 ? 0x7FFE0308 : 0x7FFE0300;
//printf("Running %u-bit system",*((void*)*)address ? 32 : 64);
return (*((void*)*)address ? false,true);
};
原文由 Lewis Miller 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
要调用的函数是
IsWow64Process
或IsWow64Process2
。它告诉您的 32 位应用程序是否在 64 位 Windows 上运行。如果程序编译为 64 位,它就已经知道了。