/// <summary>
/// Class designed to give information /// about the current system /// </summary> public static class Environment { #region Public Static Properties /// <summary> /// Name of the machine running the app /// </summary> public static string MachineName { get { return System.Environment.MachineName; } } /// <summary> /// Gets the user name that the app is running under /// </summary> public static string UserName { get { return System.Environment.UserName; } } /// <summary> /// Name of the domain that the app is running under /// </summary> public static string DomainName { get { return System.Environment.UserDomainName; } } /// <summary> /// Name of the OS running /// </summary> public static string OSName { get { return System.Environment.OSVersion.Platform. ToString(); } } /// <summary> /// Version information about the OS running /// </summary> public static string OSVersion { get { return System.Environment.OSVersion.Version. ToString(); } } /// <summary> /// The service pack running on the OS /// </summary> public static string OSServicePack { get { return System.Environment.OSVersion.ServicePack; } } /// <summary> /// Full name, includes service pack, version, etc. /// </summary> public static string OSFullName { get { return System.Environment.OSVersion.VersionString; } } /// <summary> /// Gets the current stack trace information /// </summary> public static string StackTrace { get { return System.Environment.StackTrace; } } /// <summary> /// Returns the number of processors on the machine /// </summary> public static int NumberOfProcessors { get { return System.Environment.ProcessorCount; } } /// <summary> /// The total amount of memory the GC believes is used /// by the app in bytes /// </summary> public static long TotalMemoryUsed { get { return GC. GetTotalMemory( false); } } /// <summary> /// The total amount of memory that is available in bytes /// </summary> public static long TotalMemory { get { long ReturnValue = 0; ObjectQuery TempQuery = new ObjectQuery( "SELECT * FROM Win32_LogicalMemoryConfiguration"); using (ManagementObjectSearcher Searcher = new ManagementObjectSearcher(TempQuery)) { foreach (ManagementObject TempObject in Searcher. Get()) { ReturnValue = long. Parse(TempObject[ "TotalPhysicalMemory"]. ToString()) * 1024; } } return ReturnValue; } } #endregion }