c++获取操作系统版本,区分windows10和windows11
时间: 2024-02-04 20:01:45 浏览: 250
可以通过调用Windows API函数来获取操作系统版本信息。以下是一个示例代码,可以获取操作系统的主版本号、次版本号和生成号:
```cpp
#include <Windows.h>
#include <iostream>
int main()
{
OSVERSIONINFOEX osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if (GetVersionEx((OSVERSIONINFO*)&osvi))
{
std::cout << "Operating System Version: " << osvi.dwMajorVersion << "." << osvi.dwMinorVersion << "." << osvi.dwBuildNumber << std::endl;
}
return 0;
}
```
如果你需要判断操作系统是否为Windows 10或Windows 11,可以根据主版本号和次版本号进行判断。Windows 10的主版本号为10,次版本号为0,Windows 11的主版本号为10,次版本号为0。示例代码如下:
```cpp
#include <Windows.h>
#include <iostream>
int main()
{
OSVERSIONINFOEX osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if (GetVersionEx((OSVERSIONINFO*)&osvi))
{
if (osvi.dwMajorVersion == 10 && osvi.dwMinorVersion == 0)
{
std::cout << "Windows 10" << std::endl;
}
else if (osvi.dwMajorVersion == 10 && osvi.dwMinorVersion == 0 && osvi.dwBuildNumber >= 22000)
{
std::cout << "Windows 11" << std::endl;
}
else
{
std::cout << "Other Windows Version" << std::endl;
}
}
return 0;
}
```
需要注意的是,Windows 11的版本号可能会发生变化,如果你需要判断Windows 11的具体版本号,可以根据生成号进行判断。
阅读全文