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

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

  • 相关阅读:
    使用slf4j取代Apache Commons Logging
    IntelliJ远程调试教程
    java日志,(commons-loging 、log4j 、slf4j 、LogBack介绍)
    oracle 时间函数
    在Windows操作系统中,如何终止占有的8080端口的tomcat进程
    解决dwr报错【 Error: java.lang.SecurityException: No class by name: service】
    eclipse下使用tomcat启动maven项目
    Eclipse Java注释模板设置详解
    weblogic启动时日志重定向(nohup.out)
    信息化的基本概念
  • 原文地址:https://www.cnblogs.com/kk1230/p/1609507.html
Copyright © 2011-2022 走看看