-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKernelNames.cs
40 lines (36 loc) · 1.21 KB
/
KernelNames.cs
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
36
37
38
39
40
using System;
namespace Helpers.WinNT
{
public class KernelNames
{
public enum KernelName
{
WinUnknown = -1
WinOutdated = -1,
Unsupported = WinUnknown | WinOutdated,
Vista = 0,
Windows7 = 7,
Windows8 = 8,
Windows10 = 10,
Windows11 = 11,
Windows = Windows10 | Windows11
};
public static KernelName GetWindowsNTVersion()
{
string NTx = Environment.OSVersion.ToString();
if (NTx.Contains("Unix"))
return KernelName.Unsupported;
else if (NTx.Contains("NT 10.0."))
return KernelName.Windows;
else if (NTx.Contains("NT 6.3.") || NTx.Contains("NT 6.2."))
return KernelName.Windows8;
else if (NTx.Contains("NT 6.1."))
return KernelName.Windows7;
else if (NTx.Contains("NT 6.0."))
return KernelName.Vista;
else if (NTx.Contains("NT 5.2.") || NTx.Contains("NT 5.1.") || NTx.Contains("NT 5.0."))
return KernelName.WinOutdated;
return KernelName.WinUnknown;
}
}
}