C# 获取电脑MAC地址,IP地址,物理内存,CPU序列号,硬盘ID..........................
2024-10-15 03:33:44
上班很忙,自己做个记录
代码如下:
需要引入: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().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
{
} }
}
}
最新文章
- 双向链表、双向循环链表的JS实现
- hadoop2.7【单节点】单机、伪分布、分布式安装指导
- Callgrind 使用 2
- 对sql进行分页处理(Oracle版)
- C++学习笔记之模板篇
- 学习Qt,Getting started
- 空间数据可视化:1. 3D_Bar图表| 空间柱状图
- SwipeableFlatList 实现类似于QQ列表滑动
- 转:drupal常用api
- 小patch(psu)的打法 -- 实例
- Windows 下面的 redis GUI操作工具
- mybatis 传参为 Integer 时 ,Mapper 文件 中判断 条件 问题。
- LintCode,hihoCoder,LeetCode有什么区别?
- OpenGL学习笔记(3) 纹理
- Wpf+数据库代码封装+策略模式封装
- typedef的用法和相关问题
- 通过委托来实现异步 Delegate的BeginInvoke和EndInvoke
- GoogleMock初探(0)
- 【整理总结】Visual Studio 扩展和更新
- 180601-MySql性能监控工具MyTop
热门文章
- LyX快捷键管理
- JVM vs DVM
- Spring security实现国际化问题
- [20171106]配置客户端连接注意.txt
- 洗礼灵魂,修炼python(45)--巩固篇—【转载】类的__now__和__init__
- Asp.net Mvc、webApi配置允许跨域
- Python3 下实现 腾讯人工智能API 调用
- Navicat连接Oracle的几个问题及解决方案
- Alpha冲刺! Day10 - 砍柴
- Spring AOP的实现研究