zoukankan      html  css  js  c++  java
  • C#获取cpu序列号 硬盘ID 网卡硬地址以及操作注册表

            #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

  • 相关阅读:
    主引导扇区的理解
    敏捷的思考
    架构学习笔记
    操作系统笔记
    Docker学习笔记
    技术面试-国外人谈经验
    硬盘的原理学习
    linux压缩和解压命令总结
    好的技术团队和差的技术团队的区别在于技术架构前瞻性和适应变化的能力
    管理者的本质其实就是一个服务者,服务下属的
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234310.html
Copyright © 2011-2022 走看看