常用代码笔记 - 获取系统版本号

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
typedef enum _ENUM_WINDOWS_VERSION
{
WINDOWS_7 = 0x0610,
WINDOWS_7_SP1 = 0x0611,
WINDOWS_8 = 0x0620,
WINDOWS_8_1 = 0x0630,
WINDOWS_10 = 0x0A00,hbnjmbn
WINDOWS_10_RS1 = 0x0A01, // Anniversary update
WINDOWS_10_RS2 = 0x0A02, // Creators update
WINDOWS_10_RS3 = 0x0A03, // Fall creators update
WINDOWS_10_RS4 = 0x0A04, // Spring creators update
WINDOWS_10_RS5 = 0x0A05, // October 2018 update
} ENUM_WINDOWS_VERSION;


RTL_OSVERSIONINFOEXW stOSVersionInfo = { 0 };
stOSVersionInfo.dwOSVersionInfoSize = sizeof(stOSVersionInfo);
status = RtlGetVersion((PRTL_OSVERSIONINFOW)&stOSVersionInfo);
if (!NT_SUCCESS(status))
return status;

ULONG ulWindowsVersion = (stOSVersionInfo.dwMajorVersion << 8) | (stOSVersionInfo.dwMinorVersion << 4) | stOSVersionInfo.wServicePackMajor;

switch (ulWindowsVersion)
{
case WINDOWS_7:
case WINDOWS_7_SP1:
case WINDOWS_10:
case WINDOWS_10_RS1:
case WINDOWS_10_RS2:
case WINDOWS_10_RS3:
case WINDOWS_10_RS4:
default:
break;
}
评论

:D 一言句子获取中...

加载中,最新评论有1分钟缓存...