我想使用 WINAPI 在 Windows 10 上获取构建版本。当前窗口版本:10.0.19042.685
我尝试使用 WMI 查询来获取它。
select Version, BuildNumber from Win32_OperatingSystem.
-> Version: 10.0.19042, BuildNumber: 19042
Run Code Online (Sandbox Code Playgroud)
我尝试通过调用 RtlGetVersion() 来获取它。
HMODULE hMod = ::GetModuleHandleW(L"ntdll.dll");
if (hMod) {
typedef NTSTATUS(WINAPI* RtlGetVersionPtr)(PRTL_OSVERSIONINFOEXW);
RtlGetVersionPtr fxPtr = (RtlGetVersionPtr)::GetProcAddress(hMod, "RtlGetVersion");
if (fxPtr != nullptr) {
RTL_OSVERSIONINFOEXW rovi = { 0 };
rovi.dwOSVersionInfoSize = sizeof(rovi);
if (0 == fxPtr(&rovi)) {
printf("dwMajorVersion: %lu\n", rovi.dwMajorVersion);
printf("dwMinorVersion: %lu\n", rovi.dwMinorVersion);
printf("dwBuildNumber: %lu\n", rovi.dwBuildNumber);
}
}
}
dwMajorVersion: 10
dwMinorVersion: 0
dwBuildNumber: 19042
Run Code Online (Sandbox Code Playgroud)
我无法使用 WMI 查询和 RtlGetVerion() API 获取修订号。
我想从“10.0.19042.685”获取“685”。
如何使用 WINAPI 获取 Windows 内部版本、修订号?
| 归档时间: |
|
| 查看次数: |
1365 次 |
| 最近记录: |