zoukankan      html  css  js  c++  java
  • C# 获取电脑MAC地址,IP地址,物理内存,CPU序列号,硬盘ID..........................

    上班很忙,自己做个记录

    代码如下:

    需要引入:System.Management

    代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Management;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace KMHC.Infrastructure
    {
        public class Computer
        {
            public static string CpuID; //1.cpu序列号
            public static string MacAddress; //2.mac序列号
            public static string DiskID; //3.硬盘id
            public static string IpAddress; //4.ip地址
            public static string LoginUserName; //5.登录用户名
            public static string ComputerName; //6.计算机名
            public static string SystemType; //7.系统类型
            public static string TotalPhysicalMemory; //8.内存量 单位:M
    
          
            //1.获取CPU序列号代码 
    
            public static string GetCpuID()
            {
                try
                {
                    string cpuInfo = "";//cpu序列号 
                    ManagementClass mc = new ManagementClass("Win32_Processor");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
                    }
                    moc = null;
                    mc = null;
                    return cpuInfo;
                }
                catch
                {
                    return "unknow";
                }
                finally
                {
                }
    
            }
    
            //2.获取网卡硬件地址 
    
            public static string GetMacAddress()
            {
                try
                {
                    string mac = "";
                    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        if ((bool)mo["IPEnabled"] == true)
                        {
                            mac = mo["MacAddress"].ToString();
                            break;
                        }
                    }
                    moc = null;
                    mc = null;
                    return mac;
                }
                catch
                {
                    return "unknow";
                }
                finally
                {
                }
    
            }
    
            //3.获取硬盘ID 
            public static string GetDiskID()
            {
                try
                {
                    String HDid = "";
                    ManagementClass mc = new ManagementClass("Win32_DiskDrive");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        HDid = (string)mo.Properties["Model"].Value;
                    }
                    moc = null;
                    mc = null;
                    return HDid;
                }
                catch
                {
                    return "unknow";
                }
                finally
                {
                }
    
            }
    
            //4.获取IP地址 
    
            public static string GetIPAddress()
            {
                try
                {
                    string st = "";
                    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        if ((bool)mo["IPEnabled"] == true)
                        {
                            //st=mo["IpAddress"].ToString(); 
                            System.Array ar;
                            ar = (System.Array)(mo.Properties["IpAddress"].Value);
                            st = ar.GetValue(0).ToString();
                            break;
                        }
                    }
                    moc = null;
                    mc = null;
                    return st;
                }
                catch
                {
                    return "unknow";
                }
                finally
                {
                }
    
            }
    
            /// 5.操作系统的登录用户名 
            public static string GetUserName()
            {
                try
                {
                    string un = "";
    
                    un = Environment.UserName;
                    return un;
                }
                catch
                {
                    return "unknow";
                }
                finally
                {
                }
    
            }
    
    
    
            //6.获取计算机名
            public static string GetComputerName()
            {
                try
                {
                    return System.Environment.MachineName;
    
                }
                catch
                {
                    return "unknow";
                }
                finally
                {
                }
            }
    
    
    
            ///7 PC类型 
            public static string GetSystemType()
            {
                try
                {
                    string st = "";
                    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
    
                        st = mo["SystemType"].ToString();
    
                    }
                    moc = null;
                    mc = null;
                    return st;
                }
                catch
                {
                    return "unknow";
                }
                finally
                {
                }
            }
    
    
    
            ///8.物理内存        
            public static string GetTotalPhysicalMemory()
            {
                try
                {
    
                    string st = "";
                    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
    
                        st = mo["TotalPhysicalMemory"].ToString();
    
                    }
                    moc = null;
                    mc = null;
                    return st;
                }
                catch
                {
                    return "unknow";
                }
                finally
                {
                }
    
            }
        }
    }
  • 相关阅读:
    牛逼哄哄的 RPC 框架,底层到底什么原理?
    你只会用 StringBuilder?试试 StringJoiner,真香!
    厉害了,淘宝千万并发,14 次架构演进…
    微服务中 Zookeeper 应用及原理
    牛逼哄哄的零拷贝是什么?
    排名前 16 的 Java 工具类,哪个你没用过?
    Spring Boot 2.4 正式发布,重大调整!!!
    pl/sql 实例精解 07
    ArcGIS 符号和样式
    SQL Server系统视图有什么用?
  • 原文地址:https://www.cnblogs.com/chenwolong/p/MAK.html
Copyright © 2011-2022 走看看