initial commit
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace Intelix.Helper;
|
||||
|
||||
public static class WindowsInfo
|
||||
{
|
||||
public static string GetProductName()
|
||||
{
|
||||
try
|
||||
{
|
||||
using RegistryKey registryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
|
||||
if (registryKey == null)
|
||||
{
|
||||
return "Unknown";
|
||||
}
|
||||
string obj = (registryKey.GetValue("ProductName") as string) ?? "Unknown";
|
||||
string text = (registryKey.GetValue("ReleaseId") as string) ?? (registryKey.GetValue("DisplayVersion") as string) ?? "";
|
||||
return (obj + " " + text).Trim();
|
||||
}
|
||||
catch
|
||||
{
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetBuildNumber()
|
||||
{
|
||||
try
|
||||
{
|
||||
using RegistryKey registryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
|
||||
if (registryKey == null)
|
||||
{
|
||||
return "Unknown";
|
||||
}
|
||||
return registryKey.GetValue("CurrentBuild")?.ToString() ?? registryKey.GetValue("CurrentBuildNumber")?.ToString() ?? "Unknown";
|
||||
}
|
||||
catch
|
||||
{
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetArchitecture()
|
||||
{
|
||||
try
|
||||
{
|
||||
return Environment.Is64BitOperatingSystem ? "x64" : "x86";
|
||||
}
|
||||
catch
|
||||
{
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetVersion()
|
||||
{
|
||||
try
|
||||
{
|
||||
using RegistryKey registryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
|
||||
if (registryKey == null)
|
||||
{
|
||||
return "Unknown";
|
||||
}
|
||||
object value = registryKey.GetValue("CurrentMajorVersionNumber");
|
||||
object value2 = registryKey.GetValue("CurrentMinorVersionNumber");
|
||||
if (value != null && value2 != null)
|
||||
{
|
||||
return $"{value}.{value2}";
|
||||
}
|
||||
string text = registryKey.GetValue("CurrentVersion") as string;
|
||||
if (!string.IsNullOrEmpty(text))
|
||||
{
|
||||
return text;
|
||||
}
|
||||
return "Unknown";
|
||||
}
|
||||
catch
|
||||
{
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetFullInfo()
|
||||
{
|
||||
return "OS Product: " + GetProductName() + "\nOS Build: " + GetBuildNumber() + "\nOS Arch: " + GetArchitecture();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user