获取硬件信息
2015-08-05 16:19
246 查看
感觉话说的多了,费劲。
备注写的很清楚,只是做一个存档。
public class ComputerInfo { public ComputerInfo() {} /// <summary> /// cpu型号 /// </summary> /// <returns></returns> public string GetCpuInfo() { ManagementObjectSearcher searcher = new ManagementObjectSearcher(@"root\CIMV2", "SELECT * FROM Win32_Processor"); foreach (ManagementObject obj2 in searcher.Get()) { try { return (obj2.GetPropertyValue("Name").ToString() + "," + obj2.GetPropertyValue("CurrentClockSpeed").ToString() + " Mhz," + Environment.ProcessorCount.ToString() + " 个处理器"); } catch { continue; } } return "未知"; } /// <summary> /// cpuID /// </summary> /// <returns></returns> public string GetCpuID() { ManagementObjectCollection instances = new ManagementClass("Win32_Processor").GetInstances(); foreach (ManagementObject obj2 in instances) { return obj2.Properties["ProcessorId"].Value.ToString(); } return null; } /// <summary> /// 取得设备硬盘的卷标号 /// </summary> /// <returns></returns> public string GetDiskVolumeSerialNumber() { ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\""); disk.Get(); return disk.GetPropertyValue("VolumeSerialNumber").ToString(); } /// <summary> /// 获得CPU的序列号 /// </summary> /// <returns></returns> public string getCpu() { string strCpu = null; ManagementClass myCpu = new ManagementClass("win32_Processor"); ManagementObjectCollection myCpuConnection = myCpu.GetInstances(); foreach (ManagementObject myObject in myCpuConnection) { strCpu = myObject.Properties["Processorid"].Value.ToString(); break; } return strCpu; } /// <summary> /// 生成机器码 /// </summary> /// <returns></returns> public string getMNum() { string strNum = getCpu() + GetDiskVolumeSerialNumber();//获得24位Cpu和硬盘序列号 string strMNum = strNum.Substring(0, 24);//从生成的字符串中取出前24个字符做为机器码 return strMNum; } /// <summary> /// 物理内存 /// </summary> /// <returns></returns> public string GetTotalPhysicalMemory() { try { string st = ""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { st = mo.ToString(); } moc = null; mc = null; return st; } catch { return "unknow"; } } /// <summary> /// 获取计算机名(ComputerName) /// </summary> /// <returns></returns> public string GetComputerName() { try { return System.Environment.GetEnvironmentVariable("ComputerName"); } catch { return "unknow"; } } /// <summary> /// PC类型 /// </summary> /// <returns></returns> public string GetSystemType() { try { string st = ""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { st = mo.ToString(); } moc = null; mc = null; return st; } catch { return "unknow"; } } /// <summary> /// 操作系统的登录用户名 /// </summary> /// <returns></returns> public string GetUserName() { try { string st = ""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { st = mo.ToString(); } moc = null; mc = null; return st; } catch { return "unknow"; } } }
备注写的很清楚,只是做一个存档。
相关文章推荐
- 第14章 集合类
- JS绘制生成花瓣效果的方法
- C# ref和out参数的使用
- Mavan配置
- 微信公众平台开发整理
- jRTPlib支持多网卡,支持TCP
- 多线程之售票安全版
- telnet退出命令
- IOS XMPP的实践
- Problem C: P1053
- 设计模式 适配器模式
- HANA激活对象报错
- Creating ADF BC View Object Instances On The Fly!!!!!!
- omci批量升级
- php mysql 事务 锁 小计
- code first使用t4模板
- Android 自定义侧滑面板
- lbypmall系统备份恢复
- ios iphone6 Plus 的适配问题
- 用VS2008编译(zlib)C语言代码的方法