检测 Windows 10 OS 构建次要版本

Detecting Windows 10 OS Build minor version

由于 an issue with Windows 10 Version 1709, only works for OS Build 16299.125 and above (fixed in the KB4054517 更新,我创建了一个蓝牙低功耗库)。对于早期版本,它会导致 BLE 设备行为异常并给出错误的连接指示。

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

我已经关注 , and used RtlGetVersion() 以获得 OS 版本。但是,据我所知,返回的结构中没有字段包含构建版本的次要部分(例如“16299.125”中的“125”),AKA 'Update Build Revision' 或 UBR.

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

是否有可靠的方法获取 OS 构建的次要版本?

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