Sometimes , 我们需要用到MAC地址, CPU序列号, 硬盘序列号 , 故写了一段程序 , 希望这是我写程序的开始之旅。
using System;
using System.Collections.Generic;
using System.Text;
using System.Management;
using System.Management.Instrumentation;
using System.Net;
namespace NAD //空间的命名可以按照自己的意愿
{
public class Program
{
private void GetInfo() //define a private method
{
string cpuInfo = "";
ManagementClass cimobject = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach (ManagementObject mo in moc)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
Console.Write("Cpu序列号:"+ cpuInfo.ToString());
}
string HDid;
ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc1 = cimobject1.GetInstances();
foreach (ManagementObject mo in moc1)
{
HDid = (string)mo.Properties["Model"].Value;
Console.WriteLine("/n硬盘序列号: " + HDid.ToString());
}
}
static void Main(string[] args) //entery function
{
//IP地址与计算机名
string machinename = System.Environment.MachineName;
Console.WriteLine("Computer NAME: {0}",machinename);
IPAddress[] IP = Dns.GetHostAddresses(machinename);
for (int i = 0; i < IP.Length; i++)
{
Console.WriteLine("IPadress:{0}", IP[i]);
}
//网卡信息
Console.Write("本地网卡信息: ");
string mac = null;
ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration"); //the method is important.
ManagementObjectCollection queryCollection = query.Get();
foreach (ManagementObject MO in queryCollection)
{
if (MO["IPEnabled"].ToString() == "True")
mac = MO["MacAddress"].ToString();
}
Console.WriteLine(mac);
Program t = new Program();
t.GetInfo();
Console.ReadLine();
}
}
}
Of course, this code is the type of Console. Maybe soon, I will make a program in the type of the windows form .