zoukankan      html  css  js  c++  java
  • C#获取硬件序列号

    public class GetInfo
        {
            /// <summary>
            /// 获取硬盘的序列号
            /// </summary>
            /// <returns></returns>
            public static string GetDiskID()
            {
                String HDid = string.Empty;
                ManagementClass cimobject = new ManagementClass("Win32_DiskDrive");
                ManagementObjectCollection moc = cimobject.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    if (HDid == string.Empty)
                    {
                        HDid = (string)mo.Properties["Model"].Value;
                        break;
                    }
                }
                return HDid;
            }
            /// <summary>
            /// 获取磁盘分区信息
            /// </summary>
            /// <param name="strDriveLetter"></param>
            /// <returns></returns>
            public static string GetVolumeSerial(string strDriveLetter)
            {
                if (strDriveLetter == "" || strDriveLetter == null)
                {
                    strDriveLetter = "C:";
                }
                ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + strDriveLetter + "\"");
                disk.Get();
                Debug.WriteLine("FreeSpace: " + disk["FreeSpace"].ToString());
                return disk["VolumeSerialNumber"].ToString();
            }
            /// <summary>
            /// 获取网卡地址
            /// </summary>
            /// <returns></returns>
            public static string GetMACAddress()
            {
                ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
                ManagementObjectCollection moc = mc.GetInstances();
                string MACAddress = String.Empty;
                foreach (ManagementObject mo in moc)
                {
                    if (mo["MacAddress"] != null)
                    {
                        Debug.WriteLine("Network Adapter Description: " + mo["Description"].ToString() + "-" + mo["MacAddress"].ToString());
                    }
                    if (MACAddress == String.Empty)
                    {
                        if ((bool)mo["IPEnabled"] == true)
                        {
                            MACAddress = mo["MacAddress"].ToString();
                        }
                    }
                    mo.Dispose();
                }
                MACAddress = MACAddress.Replace(":", "");
                return MACAddress;
            }
            /// <summary>
            /// 获取CPU序列号
            /// </summary>
            /// <returns></returns>
            public static string GetCPUId()
            {
                string cpuInfo = String.Empty;
                string temp = String.Empty;
                ManagementClass mc = new ManagementClass("Win32_Processor");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    Debug.WriteLine("Processor Caption: " + mo.Properties["Caption"].Value.ToString());
                    Debug.WriteLine("Processor MaxClockSpeed: " + mo.Properties["MaxClockSpeed"].Value.ToString());
                    if (cpuInfo == String.Empty)
                    {
                        cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
                    }
                }
                return cpuInfo;
            }

        }

    QQ:67042248

    天之道,利而不害;圣人之道,为而不争.

  • 相关阅读:
    mybatis动态sql中的两个内置参数(_parameter和_databaseId)
    Vue.js项目部署在Tomcat服务器上
    Vue2.0 + ElementUI的+ PageHelper实现的表格分页
    mybatis中使用mysql的模糊查询字符串拼接(like)
    C++循环链表解决约瑟夫环问题
    Nginx源码分析-ngx_module_s结构体
    设计模式(一)工厂模式Factory(创建型)(转)
    网络编程--套接字选项(一)
    Linux阵列 RAID详解 (转)
    HDFS RAID实现方案(转)
  • 原文地址:https://www.cnblogs.com/kk1230/p/1609507.html
Copyright © 2011-2022 走看看