zoukankan      html  css  js  c++  java
  • C#获取本地计算机名,IP,MAC地址,硬盘ID

    using System;
    using System.Data;
    using System.Configuration;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Management;

    /// <summary>
    ///Computer 的摘要说明
    /// </summary>
    public class Computer
    {
        
    public string CpuID;
        
    public string MacAddress;
        
    public string DiskID;
        
    public string IpAddress;
        
    public string LoginUserName;
        
    public string ComputerName;
        
    public string SystemType;
        
    public string TotalPhysicalMemory; //单位:M 
        private static Computer _instance;
        
    public static Computer Instance()
        {
            
    if (_instance == null)
                _instance 
    = new Computer();
            
    return _instance;
        }
        
    public Computer()
        {
            CpuID 
    = GetCpuID();
            MacAddress 
    = GetMacAddress();
            DiskID 
    = GetDiskID();
            IpAddress 
    = GetIPAddress();
            LoginUserName 
    = GetUserName();
            SystemType 
    = GetSystemType();
            TotalPhysicalMemory 
    = GetTotalPhysicalMemory();
            ComputerName 
    = GetComputerName();
        }
        
    public string GetCpuID()
        {
            
    try
            {
                
    //获取CPU序列号代码 
                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
            {
            }

        }
        
    public 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
            {
            }

        }
        
    public string GetIPAddress()
        {
            
    try
            {
                
    //获取IP地址 
                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
            {
            }

        }

        
    public string GetDiskID()
        {
            
    try
            {
                
    //获取硬盘ID 
                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
            {
            }

        }

        
    /// <summary> 
        
    /// 操作系统的登录用户名 
        
    /// </summary> 
        
    /// <returns></returns> 
        public string GetUserName()
        {
            
    try
            {
                
    string st = "";
                ManagementClass mc 
    = new ManagementClass("Win32_ComputerSystem");
                ManagementObjectCollection moc 
    = mc.GetInstances();
                
    foreach (ManagementObject mo in moc)
                {

                    st 
    = mo["UserName"].ToString();

                }
                moc 
    = null;
                mc 
    = null;
                
    return st;
            }
            
    catch
            {
                
    return "unknow";
            }
            
    finally
            {
            }

        }


        
    /// <summary> 
        
    /// PC类型 
        
    /// </summary> 
        
    /// <returns></returns> 
        public 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
            {
            }

        }

        
    /// <summary> 
        
    /// 物理内存 
        
    /// </summary> 
        
    /// <returns></returns> 
        public 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
            {
            }
        }
        
    /// <summary> 
        
    ///  
        
    /// </summary> 
        
    /// <returns></returns> 
        public string GetComputerName()
        {
            
    try
            {
                
    return System.Environment.GetEnvironmentVariable("ComputerName");
            }
            
    catch
            {
                
    return "unknow";
            }
            
    finally
            {
            }
        }



    }
  • 相关阅读:
    VScode 修改中文字体
    missing KW_END at ')' near '<EOF>'
    SQL inner join, join, left join, right join, full outer join
    SQL字符替换函数translater, replace
    SQL COOKBOOK SQL经典实例代码 笔记第一章代码
    sqlcook sql经典实例 emp dept 创建语句
    dateutil 2.5.0 is the minimum required version python
    安装postgresql后找不到服务 postgresql service
    Postgres psql: 致命错误: 角色 "postgres" 不存在
    【西北师大-2108Java】第十六次作业成绩汇总
  • 原文地址:https://www.cnblogs.com/qixuejia/p/1933442.html
Copyright © 2011-2022 走看看