41 lines
1.0 KiB
C#
41 lines
1.0 KiB
C#
|
using Microsoft.Win32;
|
|||
|
|
|||
|
namespace DM_Weight.util.TabTip
|
|||
|
{
|
|||
|
internal enum OSVersion
|
|||
|
{
|
|||
|
Undefined,
|
|||
|
Win7,
|
|||
|
Win8Or81,
|
|||
|
Win10
|
|||
|
}
|
|||
|
internal static class EnvironmentEx
|
|||
|
{
|
|||
|
private static OSVersion OSVersion = OSVersion.Undefined;
|
|||
|
|
|||
|
internal static OSVersion GetOSVersion()
|
|||
|
{
|
|||
|
if (OSVersion != OSVersion.Undefined)
|
|||
|
return OSVersion;
|
|||
|
|
|||
|
string OSName = GetOSName();
|
|||
|
|
|||
|
if (OSName.Contains("7"))
|
|||
|
OSVersion = OSVersion.Win7;
|
|||
|
else if (OSName.Contains("8"))
|
|||
|
OSVersion = OSVersion.Win8Or81;
|
|||
|
else if (OSName.Contains("10"))
|
|||
|
OSVersion = OSVersion.Win10;
|
|||
|
|
|||
|
return OSVersion;
|
|||
|
}
|
|||
|
|
|||
|
private static string GetOSName()
|
|||
|
{
|
|||
|
RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion");
|
|||
|
if (rk == null) return "";
|
|||
|
return (string) rk.GetValue("ProductName");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|