C#获取当前系统信息的类

 /// <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
    }

转载于:https://www.cnblogs.com/kevinGao/archive/2012/01/07/2323349.html

猜你喜欢

转载自blog.csdn.net/weixin_33869377/article/details/93052811