cpp
#include <Windows.h>
bool IsWindowsVersionAtLeast(WORD wMajorVersion, WORD wMinorVersion, WORD wServicePackMajor);
bool IsWindowsVersionAtLeast(WORD wMajorVersion, WORD wMinorVersion, WORD wServicePackMajor) {
OSVERSIONINFOEXW osvi = {sizeof(osvi), 0, 0, 0, 0, {0}, 0, 0};
DWORDLONG const dwlConditionMask = VerSetConditionMask(
VerSetConditionMask(
VerSetConditionMask(
0, VER_MAJORVERSION, VER_GREATER_EQUAL),
VER_MINORVERSION, VER_GREATER_EQUAL),
VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL);
osvi.dwMajorVersion = wMajorVersion;
osvi.dwMinorVersion = wMinorVersion;
osvi.wServicePackMajor = wServicePackMajor;
return VerifyVersionInfoW(&osvi, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR, dwlConditionMask) != FALSE;
}
class WindowsVersion {
private:
bool isAtLeast_6_0;/* 一般windows7, 如:6.1.6701 */
bool isAtLeast_6_2;/* 一般windows8, 如:6.2.6900 */
/* 可以继续添加期望判断的版本, windows10: 10.0.19045 */
WindowsVersion() {
isAtLeast_6_0 = IsWindowsVersionAtLeast(6, 0, 0);
isAtLeast_6_2 = IsWindowsVersionAtLeast(6, 2, 0);
}
WindowsVersion(WindowsVersion const&); // Don't implement to guarantee singleton semantics
void operator=(WindowsVersion const&); // Don't implement to guarantee singleton semantics
public:
static WindowsVersion& getInstance() {
static WindowsVersion instance; // Instantiated on first use. Guaranteed to be destroyed.
return instance;
}
bool IsAtLeast_6_0() {
return isAtLeast_6_0;
}
bool IsAtLeast_6_2() {
return isAtLeast_6_2;
}
};
在 Windows 上,可以使用以下方法之一来查看操作系统的版本号:
-
使用 "winver" 命令:
- 打开 "运行" 对话框,可以通过按下 Win + R 快捷键来打开。
- 在对话框中输入 "winver",然后点击 "确定"。
- 弹出的 "关于 Windows" 窗口中,会显示操作系统的版本号和详细信息。
-
使用 "系统信息" 工具:
- 打开 "运行" 对话框。
- 输入 "msinfo32",然后点击 "确定"。
- 打开的 "系统信息" 窗口中,可以在 "操作系统名称" 和 "版本" 字段中找到操作系统的版本号。
-
使用 "命令提示符" 或 "PowerShell":
-
打开 "命令提示符" 或 "PowerShell"。
-
输入以下命令并按下回车:
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
-
输出中的 "OS 名称" 和 "OS 版本" 行将显示操作系统的名称和版本号。
-
这些方法可以帮助您在 Windows 上方便地查看操作系统的版本号。