博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#获取本地计算机名,IP,MAC地址,硬盘ID
阅读量:6371 次
发布时间:2019-06-23

本文共 4734 字,大约阅读时间需要 15 分钟。

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    {    }}///  /// 操作系统的登录用户名 ///  /// 
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 { }}/// /// PC类型 /// ///
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 { }}/// /// 物理内存 /// ///
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 { }}/// /// /// ///
public string GetComputerName(){ try { return System.Environment.GetEnvironmentVariable("ComputerName"); } catch { return "unknow"; } finally { }}

}

转载于:https://blog.51cto.com/13264507/2285613

你可能感兴趣的文章
2013ARM开发者大会
查看>>
第二届全球金融峰会演讲PPT
查看>>
基于开源项目的WebApp开发
查看>>
sql server主动推送客户端更新数据
查看>>
can't connect to local mysql server through socket
查看>>
Android APP的安装路径
查看>>
OpeCV中type与depth的区别
查看>>
Android,谁动了我的内存(1)
查看>>
Maven创建项目
查看>>
以下文件中的行尾不一致,要将行尾标准化吗
查看>>
EMBRACE
查看>>
关闭SELinux
查看>>
android:layout_gravity 和 android:gravity 的区别
查看>>
rsync服务器搭建
查看>>
angularjs过滤器(number)
查看>>
同步、异步、互斥、信号量、阻塞、非阻塞
查看>>
黑盒测试的测试用例设计方法
查看>>
使用Ganglia监控系统监控集群(debian)
查看>>
dajngo 数据库事物的处理
查看>>
Java Socket 网络编程常见异常
查看>>