【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 上方便地查看操作系统的版本号。

相关推荐
vfvfb9 小时前
bat批量去掉本文件夹中的文件扩展名
服务器·windows·批处理·删除扩展名·bat技巧
我命由我1234515 小时前
VSCode - VSCode 放大与缩小代码
前端·ide·windows·vscode·前端框架·编辑器·软件工具
PT_silver15 小时前
tryhackme——Abusing Windows Internals(进程注入)
windows·microsoft
爱炸薯条的小朋友16 小时前
C#由于获取WPF窗口名称造成的异常报错问题
windows·c#·wpf
Lw老王要学习17 小时前
VScode 使用 git 提交数据到指定库的完整指南
windows·git·vscode
CodeOfCC1 天前
c语言 封装跨平台线程头文件
linux·c语言·windows
momo卡1 天前
MinGW-w64的安装详细步骤(c_c++的编译器gcc、g++的windows版,win10、win11真实可用)
c语言·c++·windows
南林yan1 天前
DLL动态库实现文件遍历功能(Windows编程)
windows
Mike_6661 天前
win10安装WSL2、Ubuntu24.04
windows·ubuntu·wsl2
liulun2 天前
Skia如何绘制几何图形
c++·windows