【问题标题】:Detecting Windows 10 OS Build minor version检测 Windows 10 操作系统构建次要版本
【发布时间】:2017-12-21 13:32:36
【问题描述】:

我创建了一个蓝牙低功耗库,由于 an issue with Windows 10 Version 1709,它仅适用于 OS Build 16299.125 及更高版本(在 KB4054517 更新中修复)。对于早期版本,它会导致 BLE 设备行为异常并给出错误的连接指示。

因此,我希望检查客户端计算机上是否存在此更新,并且 如果版本太低,请阻止库运行。

我已关注this SO answer,并使用RtlGetVersion() 获取操作系统版本。但是,据我所知,返回结构中的任何字段都不包含构建版本的次要部分(例如,“16299.125”中的“125”)、AKA“更新构建版本”或 UBR。

即使在使用扩展结构 (RTL_OSVERSIONINFOEXW) 调用 RtlGetVersion() 时也是如此。

是否有可靠的方法来获取操作系统构建的次要版本?

【问题讨论】:

    标签: windows-10 wdk


    【解决方案1】:

    此 UBR 值存储在注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion 下的 DWORD which you can query

    【讨论】:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion.UBR 是正式的 Windows API(或足够接近)吗?
    • 这是在 winnt.h 中定义的:UNIFIEDBUILDREVISION_KEY L"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion", UNIFIEDBUILDREVISION_VALUE L"UBR"
    • 太棒了!正是我想要的。
    猜你喜欢
    • 2012-02-05
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-03
    • 1970-01-01
    • 2011-07-08
    • 2014-01-01
    相关资源
    最近更新 更多