C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表 .

 转:http://blog.csdn.net/smartsmile2012/article/details/8682295


#region 获取cpu序列号 硬盘ID 网卡硬地址 /**/ /// <summary> /// 获取cpu序列号 /// </summary> /// <returns>string </returns> public static string GetCpuInfo() { 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.ToString(); } /**//// <summary> /// 获取硬盘ID /// </summary> /// <returns>string </returns> public static string GetHDid() { string HDid = ""; ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moc1 = cimobject1.GetInstances(); foreach (ManagementObject mo in moc1) { HDid = (string)mo.Properties["Model"].Value; } return HDid.ToString(); } /**//// <summary> /// 获取网卡硬件地址 /// </summary> /// <returns>string </returns> public static string GetMoAddress() { string MoAddress = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc2 = mc.GetInstances(); foreach (ManagementObject mo in moc2) { if ((bool)mo["IPEnabled"] == true) MoAddress = mo["MacAddress"].ToString(); mo.Dispose(); } return MoAddress.ToString(); } #endregion #region 操作注册表 /// <summary> /// 读取指定名称的注册表的值 /// </summary> /// <param name="name">注册表值</param> /// <returns></returns> private static string GetRegistData(string name) { string registData; RegistryKey hkml = Registry.LocalMachine; RegistryKey software = hkml.OpenSubKey("SOFTWARE", true); RegistryKey aimdir = software.OpenSubKey("CSharpCode", true); registData = aimdir.GetValue(name).ToString(); return registData; } /// <summary> /// 注册表中写数据 /// </summary> /// <param name="name">注册表</param> /// <param name="tovalue"></param> private void WTRegedit(string name, string tovalue) { RegistryKey hklm = Registry.LocalMachine; RegistryKey software = hklm.OpenSubKey("SOFTWARE", true); RegistryKey aimdir = software.CreateSubKey("CSharpCode"); aimdir.SetValue(name, tovalue); } /// <summary> /// .删除注册表中指定的注册表项 /// </summary> /// <param name="name">注册表</param> private void DeleteRegist(string name) { string[] aimnames; RegistryKey hkml = Registry.LocalMachine; RegistryKey software = hkml.OpenSubKey("SOFTWARE", true); RegistryKey aimdir = software.OpenSubKey("CSharpCode", true); aimnames = aimdir.GetSubKeyNames(); foreach (string aimKey in aimnames) { if (aimKey == name) aimdir.DeleteSubKeyTree(name); } } /// <summary> /// 判断指定注册表项是否存在 /// </summary> /// <param name="name">注册表</param> /// <returns></returns> private static bool IsRegeditExit(string name) { bool _exit = false; string[] subkeyNames; RegistryKey hkml = Registry.LocalMachine; RegistryKey software = hkml.OpenSubKey("SOFTWARE", true); subkeyNames = software.GetSubKeyNames(); foreach (string keyName in subkeyNames) { if (keyName == name) { _exit = true; return _exit; } } return _exit; } #endregion

 

上一篇:WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮


下一篇:seo如何优化?站长分析影响排名的4大因素