C#获取电脑信息的一些方法

  1     //取机器名 
  2         public string GetHostName()
  3         {
  4             return System.Net.Dns.GetHostName();
  5         }
  6 
  7         //取CPU编号
  8         public String GetCpuID()
  9         {
 10             try
 11             {
 12                 ManagementClass mc = new ManagementClass("Win32_Processor");
 13                 ManagementObjectCollection moc = mc.GetInstances();
 14 
 15                 String strCpuID = null;
 16                 foreach (ManagementObject mo in moc)
 17                 {
 18                     strCpuID = mo.Properties["ProcessorId"].Value.ToString();
 19                     break;
 20                 }
 21                 return strCpuID;
 22             }
 23             catch
 24             {
 25                 return "";
 26             }
 27 
 28         }
 29 
 30         //取第一块硬盘编号
 31         public String GetHardDiskID()
 32         {
 33             try
 34             {
 35                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
 36                 String strHardDiskID = null;
 37                 foreach (ManagementObject mo in searcher.Get())
 38                 {
 39                     strHardDiskID = mo["SerialNumber"].ToString().Trim();
 40                     break;
 41                 }
 42                 return strHardDiskID;
 43             }
 44             catch
 45             {
 46                 return "";
 47             }
 48         }
 49 
 50 
 51         //获取MAC地址
 52         public string GetMacAddress()
 53         {
 54                 string strMacAddress = "";
 55                 ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
 56                 ManagementObjectCollection moc = mc.GetInstances();
 57                 foreach (ManagementObject mo in moc)
 58                 {
 59                     if ((bool)mo["IPEnabled"] == true)
 60                     {
 61                         strMacAddress += mo["MacAddress"].ToString();
 62                     }
 63                 }
 64                 return strMacAddress;
 65 
 66         }
 67 
 68 
 69         #region GetCPUName
 70         //取得CPU名
 71         /// <summary>
 72         /// 取得CPU名
 73         /// </summary>
 74         /// <returns>CPU名(例:Intel(R) Xeon(R) CPU X3210 @ 2.13GHz)</returns>
 75         public  string GetCPUName()
 76         {
 77             try
 78             {
 79                 ManagementClass managementClass = new ManagementClass("Win32_Processor");
 80                 ManagementObjectCollection managementObj = managementClass.GetInstances();
 81                 foreach (ManagementObject mo in managementObj)
 82                 {
 83                     return mo["Name"].ToString();
 84                 }
 85                 return "Unknown.";
 86             }
 87             catch
 88             {
 89                 return "Unknown.";
 90             }
 91         }
 92 
 93         #endregion
 94 
 95         #region GetTotalMemorySize
 96 
 97         /// <summary>
 98         /// 内存大小
 99         /// </summary>
100         /// <returns>内存大小(KB)</returns>
101         public  string GetTotalMemorySize()
102         {
103             try
104             {
105                 ManagementClass managementClass = new ManagementClass("Win32_OperatingSystem");
106                 ManagementObjectCollection managementObj = managementClass.GetInstances();
107                 foreach (ManagementObject mo in managementObj)
108                 {
109                     return mo["TotalVisibleMemorySize"].ToString() + "KB";
110                 }
111                 return "Unknown.";
112             }
113             catch
114             {
115                 return "Unknown.";
116             }
117         }
118 
119         #endregion
120 
121         #region GetFreeDiscSpace
122 
123         /// <summary>
124         /// 指定盘的剩余容量
125         /// </summary>
126         /// <returns>指定盘的剩余容量(MB)</returns>
127         public  string GetFreeDiscSpace(string aDrive)
128         {
129             try
130             {
131                 System.Diagnostics.PerformanceCounter pc = new System.Diagnostics.PerformanceCounter("LogicalDisk", "Free Megabytes", aDrive + ":");
132                 return pc.NextValue().ToString() + "MB";
133             }
134             catch
135             {
136                 return "Unknown.";
137             }
138         }
139 
140         #endregion
141 
142         #region GetIPAddress
143 
144         /// <summary>
145         /// IP地址。
146         /// 多个的话,返回第一个
147         /// </summary>
148         /// <returns>IP地址</returns>
149         /// <remarks>
150         /// 没取到的时候返回127.0.0.1
151         /// </remarks>
152         public  string GetIPAddress()
153         {
154             string[] ips = GetAllIPAddress();
155             if (ips.Length > 0)
156             {
157                 return ips[0];
158             }
159             else
160             {
161                 return "127.0.0.1";
162             }
163         }
164 
165         #endregion
166 
167         #region GetAllIPAddress
168 
169         /// <summary>
170         /// IP地址。
171         /// </summary>
172         /// <returns>IP地址数组</returns>
173         /// <remarks>
174         /// 没取到的时候返回长度为0的数组
175         /// </remarks>
176         public  string[] GetAllIPAddress()
177         {
178             ArrayList list = new ArrayList();
179             string[] ips = new string[0];
180 
181             try
182             {
183                 System.Management.ManagementScope scope = new System.Management.ManagementScope("root\\cimv2");
184                 scope.Connect();
185                 System.Management.ObjectQuery query
186                     = new System.Management.ObjectQuery("Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE");
187                 System.Management.ManagementObjectSearcher searcher
188                     = new System.Management.ManagementObjectSearcher(scope, query);
189                 System.Management.ManagementObjectCollection collection = searcher.Get();
190 
191                 foreach (System.Management.ManagementObject obj in collection)
192                 {
193                     foreach (string ip in (string[])obj.Properties["IPAddress"].Value)
194                     {
195                         list.Add(ip);
196                     }
197                 }
198 
199                 ips = (string[])list.ToArray(typeof(string));
200             }
201             catch (System.Exception e)
202             {
203                 
204             }
205 
206             return ips;
207         }
208 
209         #endregion
原文地址:https://www.cnblogs.com/felicitytanyin/p/3055020.html