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
上一篇:【全面总结】js获取元素位置大小


下一篇:js获取元素位置和style的兼容性写法