zoukankan      html  css  js  c++  java
  • C#读取系统信息

      1 using System;
      2 using System.Management;
      3 namespace Soyee.Comm
      4 {
      5     /// <summary>
      6     /// Computer Information
      7     /// </summary>
      8     public class Computer
      9     {
     10         public string CpuID;
     11         public string MacAddress;
     12         public string DiskID;
     13         public string IpAddress;
     14         public string LoginUserName;
     15         public string ComputerName;
     16         public string SystemType;
     17         public string TotalPhysicalMemory; //单位:M
     18         private static Computer _instance;
     19         public static Computer Instance()
     20         {
     21             if (_instance == null)
     22                 _instance = new Computer();
     23             return _instance;
     24         }
     25         protected  Computer()
     26         {
     27             CpuID=GetCpuID();
     28             MacAddress=GetMacAddress();
     29             DiskID=GetDiskID();
     30             IpAddress=GetIPAddress();
     31             LoginUserName=GetUserName();
     32             SystemType=GetSystemType();
     33             TotalPhysicalMemory=GetTotalPhysicalMemory();
     34             ComputerName=GetComputerName();
     35         }
     36         string  GetCpuID()
     37         {
     38             try
     39             {
     40                 //获取CPU序列号代码
     41                 string cpuInfo = "";//cpu序列号
     42                 ManagementClass mc = new ManagementClass("Win32_Processor");
     43                 ManagementObjectCollection moc = mc.GetInstances();
     44                 foreach(ManagementObject mo in moc)
     45                 {
     46                     cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
     47                 }
     48                 moc=null;
     49                 mc=null;
     50                 return cpuInfo;
     51             }
     52             catch
     53             {
     54                 return "unknow";
     55             }
     56             finally
     57             {
     58             }
     59             
     60         }
     61         string  GetMacAddress()
     62         {
     63             try
     64             {
     65                 //获取网卡硬件地址
     66                 string mac="";
     67                 ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
     68                 ManagementObjectCollection moc = mc.GetInstances();
     69                 foreach(ManagementObject mo in moc)
     70                 {
     71                     if((bool)mo["IPEnabled"] == true)
     72                     {
     73                         mac=mo["MacAddress"].ToString();
     74                         break;
     75                     }
     76                 }
     77                 moc=null;
     78                 mc=null;
     79                 return mac;
     80             }
     81             catch
     82             {
     83                 return "unknow";
     84             }
     85             finally
     86             {
     87             }
     88             
     89         }
     90         string  GetIPAddress()
     91         {
     92             try
     93             {
     94                 //获取IP地址
     95                 string st="";
     96                 ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
     97                 ManagementObjectCollection moc = mc.GetInstances();
     98                 foreach(ManagementObject mo in moc)
     99                 {
    100                     if((bool)mo["IPEnabled"] == true)
    101                     {
    102                         //st=mo["IpAddress"].ToString();
    103                         System.Array ar;
    104                         ar=(System.Array)(mo.Properties["IpAddress"].Value);
    105                         st=ar.GetValue(0).ToString();
    106                         break;
    107                     }
    108                 }
    109                 moc=null;
    110                 mc=null;
    111                 return st;
    112             }
    113             catch
    114             {
    115                 return "unknow";
    116             }
    117             finally
    118             {
    119             }
    120             
    121         }
    122          
    123         string  GetDiskID()
    124         {
    125             try
    126             {
    127                 //获取硬盘ID
    128                 String HDid="";
    129                 ManagementClass mc = new ManagementClass("Win32_DiskDrive");
    130                 ManagementObjectCollection moc = mc.GetInstances();
    131                 foreach(ManagementObject mo in moc)
    132                 {
    133                     HDid = (string)mo.Properties["Model"].Value;
    134                 }
    135                 moc=null;
    136                 mc=null;
    137                 return HDid;
    138             }
    139             catch
    140             {
    141                 return "unknow";
    142             }
    143             finally
    144             {
    145             }
    146                 
    147         }
    148 
    149         /// <summary>
    150         /// 操作系统的登录用户名
    151         /// </summary>
    152         /// <returns></returns>
    153         string  GetUserName()
    154         {
    155             try
    156             {
    157                 string st="";
    158                 ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
    159                 ManagementObjectCollection moc = mc.GetInstances();
    160                 foreach(ManagementObject mo in moc)
    161                 {
    162                     
    163                     st=mo["UserName"].ToString();
    164                     
    165                 }
    166                 moc=null;
    167                 mc=null;
    168                 return st;
    169             }
    170             catch
    171             {
    172                 return "unknow";
    173             }
    174             finally
    175             {
    176             }
    177             
    178         }
    179 
    180 
    181         /// <summary>
    182         /// PC类型
    183         /// </summary>
    184         /// <returns></returns>
    185         string  GetSystemType()
    186         {
    187             try
    188             {
    189                 string st="";
    190                 ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
    191                 ManagementObjectCollection moc = mc.GetInstances();
    192                 foreach(ManagementObject mo in moc)
    193                 {
    194                     
    195                     st=mo["SystemType"].ToString();
    196                     
    197                 }
    198                 moc=null;
    199                 mc=null;
    200                 return st;
    201             }
    202             catch
    203             {
    204                 return "unknow";
    205             }
    206             finally
    207             {
    208             }
    209             
    210         }
    211 
    212         /// <summary>
    213         /// 物理内存
    214         /// </summary>
    215         /// <returns></returns>
    216         string  GetTotalPhysicalMemory()
    217         {
    218             try
    219             {
    220                 
    221                 string st="";
    222                 ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
    223                 ManagementObjectCollection moc = mc.GetInstances();
    224                 foreach(ManagementObject mo in moc)
    225                 {
    226                     
    227                     st=mo["TotalPhysicalMemory"].ToString();
    228                     
    229                 }
    230                 moc=null;
    231                 mc=null;
    232                 return st;
    233             }
    234             catch
    235             {
    236                 return "unknow";
    237             }
    238             finally
    239             {
    240             }
    241         }
    242         /// <summary>
    243         /// 
    244         /// </summary>
    245         /// <returns></returns>
    246         string  GetComputerName()
    247         {
    248             try
    249             {                
    250                 return System.Environment.GetEnvironmentVariable("ComputerName");
    251             }
    252             catch
    253             {
    254                 return "unknow";
    255             }
    256             finally
    257             {
    258             }
    259         }
    260 
    261 
    262     }
    263 }
  • 相关阅读:
    032 Gradle 下载的依赖jar包在哪?
    031 can't rename root module,Android Studio修改项目名称
    030 Cannot resolve symbol'R' 问题解决汇总大全
    029 Android Studio层级显示目录文件
    028 You are about to commit CRLF line separators to the Git repository.It is recommended to set the core. autocrlf Git attribute to true to avoid line separator issues If you choose Fix and Comit ,
    027 【Android基础知识】Android Studio 编译慢及 Adb connection Error:远程主机强迫关闭了一个现有的连接
    026 Android Studio 和Gradle版版本对应关系
    025 Cause: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierIm
    024 Android Studio上传项目到Github 最全记录
    023 解决AndroidStudio下载gradle慢的问题
  • 原文地址:https://www.cnblogs.com/lzhu/p/3947417.html
Copyright © 2011-2022 走看看