获取Windows版本信息 - RegistryGetWindowsVersion
函数简介
获取Windows系统版本信息,返回包含版本详情的JSON对象。
接口名称
RegistryGetWindowsVersion
DLL调用
int64_t RegistryGetWindowsVersion(int64_t instance)
参数定义:
instance(长整型数): OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。
示例:
// 创建OLA对象
int64_t instance = CreateCOLAPlugInterFace();
// 获取Windows版本信息
int64_t jsonPtr = RegistryGetWindowsVersion(instance);
if (jsonPtr != 0) {
const char* json = (const char*)jsonPtr;
printf("Windows版本信息: %s\n", json);
// JSON格式示例:
// {
// "productName": "Windows 10 Pro",
// "currentVersion": "10.0",
// "currentBuild": "19045",
// "releaseId": "2009",
// "displayVersion": "22H2",
// "buildBranch": "vb_release",
// "ubr": 2006,
// "installDate": 1577836800,
// "registeredOwner": "User",
// "registeredOrganization": "Organization"
// }
// 可以根据版本信息判断系统兼容性
// 或者显示系统信息给用户
// 释放字符串内存
FreeStringPtr(instance, jsonPtr);
} else {
printf("获取版本信息失败\n");
}
// 释放资源
DestroyCOLAPlugInterFace(instance);
返回值
长整型数:
- 成功: 返回JSON对象字符串句柄,包含Windows版本信息
- 失败: 返回 0
返回的JSON对象包含以下字段:
productName: 产品名称(如 "Windows 10 Pro")currentVersion: 主版本号(如 "10.0")currentBuild: 内部版本号(如 "19045")releaseId: 发布版本标识(如 "2009")displayVersion: 显示版本(如 "22H2")buildBranch: 构建分支ubr: Update Build RevisioninstallDate: 安装日期(Unix时间戳)registeredOwner: 注册所有者registeredOrganization: 注册组织(可选)
注意事项
- 返回的字符串句柄需使用 FreeStringPtr 释放
- 版本信息从注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion读取 - 部分字段在某些Windows版本中可能不存在
- 可用于判断系统版本兼容性
currentVersion在Windows 10及以后都显示为 "10.0",需要结合currentBuild判断具体版本- Windows 11的
currentBuild为 22000 或更高
