using System;
using System.Management;
namespace xClient.Core.Information
{
static public class OSInfo
{
#region BITS
///
/// Determines if the current application is 32 or 64-bit.
///
static public int Bits
{
get
{
return IntPtr.Size * 8;
}
}
#endregion BITS
#region NAME
static private string _osName;
///
/// Gets the name of the operating system running on this computer (including the edition).
///
static public string Name
{
get
{
if (_osName != null)
return _osName;
string name = "Uknown OS";
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Caption FROM Win32_OperatingSystem"))
{
foreach (ManagementObject os in searcher.Get())
{
name = os["Caption"].ToString();
break;
}
}
if (name.StartsWith("Microsoft"))
name = name.Substring(name.IndexOf(" ", StringComparison.Ordinal) + 1);
_osName = name;
return _osName;
}
}
#endregion NAME
}
}