【Windows】Windows中判断版本号【redis优秀案例】

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 上,可以使用以下方法之一来查看操作系统的版本号:

  1. 使用 "winver" 命令:

    • 打开 "运行" 对话框,可以通过按下 Win + R 快捷键来打开。
    • 在对话框中输入 "winver",然后点击 "确定"。
    • 弹出的 "关于 Windows" 窗口中,会显示操作系统的版本号和详细信息。
  2. 使用 "系统信息" 工具:

    • 打开 "运行" 对话框。
    • 输入 "msinfo32",然后点击 "确定"。
    • 打开的 "系统信息" 窗口中,可以在 "操作系统名称" 和 "版本" 字段中找到操作系统的版本号。
  3. 使用 "命令提示符" 或 "PowerShell":

    • 打开 "命令提示符" 或 "PowerShell"。

    • 输入以下命令并按下回车:

      复制代码
      systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
    • 输出中的 "OS 名称" 和 "OS 版本" 行将显示操作系统的名称和版本号。

这些方法可以帮助您在 Windows 上方便地查看操作系统的版本号。

相关推荐
熊明才15 小时前
WSL2 网络突然瘫痪(Network is unreachable / 没有 eth0)最短修复指南(2026年9月20日亲测可用)
linux·windows·wsl2
xbzb20 小时前
Windows 启动故障修复知识整理:蓝屏 / 无限重启 / 盘符 X / 无 PE 盘
windows
我命由我1234520 小时前
Mac 操作系统 - 一些使用记录
运维·windows·学习·系统安全·运维开发·mac·学习方法
kakakahahahaha1 天前
Windows Steam 游戏存档在哪里?定位和恢复排查流程
windows·其他·电脑·笔记本电脑·内容运营·软件需求
Xy-unu1 天前
Windows 开启外接显示器 HDR 后外接显示器无信号、无法扩展模式故障记录
windows
troy1282 天前
Codex 安全盲区:代码漏洞生成实测
windows·python·ci/cd·pycharm·django·github·fastapi
其实防守也摸鱼2 天前
常见安全架构中 Shiro 的认证确认机制解析
运维·服务器·数据库·windows·github
五_谷_丰_登2 天前
windows批处理脚本(bat)问题解决方案大全——持续更新
windows·bat
YCOSA20252 天前
迎双节 雨晨 Windows 11 IoT 企业版 LTSC 26H1 轻装 28000.2956
windows·物联网
csdn_aspnet2 天前
Windows 如何隐藏 IIS Web 服务响应头中的 IIS Server 版本信息
windows·iis·url rewrite