测试环境:Visual Studio 2008 (此环境下通过测试)
方法一:
//获取cpu信息 public static void GetCpuIndex() { string _cpuInfo = ""; ManagementClass cimobject = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = cimobject.GetInstances(); foreach (ManagementObject mo in moc) { _cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); } return _cpuInfo; }
// 得到硬盘序列号 public static void GetHDIndex() { string _HDInfo = ""; ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moc1 = cimobject1.GetInstances(); foreach (ManagementObject mo in moc1) { _HDInfo = (string)mo.Properties["Model"].Value;
} retrun _HDInfo; }
//获取网卡硬件地址 public static void GetMacAddress() { string _MacAddress = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc2 = mc.GetInstances(); foreach (ManagementObject mo in moc2) { if ((bool)mo["IPEnabled"] == true) MacAddress = mo["MacAddress"].ToString(); mo.Dispose(); } return _MacAddress; }
方法二:主要是通过WMI方法获取系统的相关信息。
具体有关常用WMI的使用列表,本人早已经整理到蒂强网络中了请访问:
http://www./article/html/1559.html
//获取CPU的相关信息 ManagementObjectSearcher searcher02 = new ManagementObjectSearcher("select * from Win32_Processor"); string strCPUN = ""; string strCPUDp = ""; string strCPUCCS = ""; string strCPUMCS = ""; string strCPUMf = ""; string strCPUEC = ""; string strCPUFy = ""; string strCPUL2CS = ""; string strCPUNLP = ""; string strCPUPId = ""; string strCPUPLP = "";
foreach (ManagementObject Pror in searcher02.Get()) //调用ManagementObject类GET方法
//获取CPU的信息 { strCPUN = Pror["Name"].ToString().Trim(); //CPU的规格 strCPUDp = Pror["Description"].ToString().Trim(); //CPU的版本 strCPUCCS = Pror["CurrentClockSpeed"].ToString().Trim(); //CPU的主频 strCPUMCS = Pror["MaxClockSpeed"].ToString().Trim(); //CPU的最大频率(高频) strCPUMf = Pror["Manufacturer"].ToString().Trim(); //CPU的厂商 strCPUEC = Pror["ExtClock"].ToString().Trim(); //CPU的前端总线 strCPUFy = Pror["NumberOfCores"].ToString().Trim(); //CPU的核心数 strCPUL2CS = Pror["L2CacheSize"].ToString().Trim(); //CPU的二级缓存 strCPUNLP = Pror["NumberOfLogicalProcessors"].ToString().Trim(); //CPU逻辑核心个数 strCPUPId = Pror["ProcessorId"].ToString().Trim(); //CPU序列号 strCPUPLP = Pror["LoadPercentage"].ToString().Trim(); //CPU使用率 break; }
//此处本人用Label显示了cpu的相关信息,这样显得更直观一些! label1.Text = strCPUN;//显示CPU的规格 label2.Text = strCPUDp;//显示CPU的版本 label3.Text = strCPUCCS + " " + "MHz";//显示CPU的主频 label4.Text = strCPUMCS + " " + "MHz";//显示CPU的最高频率 label5.Text = strCPUMf;//显示CPU的厂商 label6.Text = strCPUL2CS + " " + "KB";//显示CPU的二级缓存 label7.Text = strCPUEC + " " + "MHz";//显示CPU的前端总线 label8.Text = strCPUFy + " " + "个";//显示CPU的核心数 label9.Text = strCPUNLP + " " + "个";//显示CPU的逻辑处理器数 label10.Text = strCPUPId;//显示CPU的序列号 label11.Text = strCPUPLP + " " + "%";//显示CPU使用率 }
|