博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存...
阅读量:4512 次
发布时间:2019-06-08

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

我们在利用C#开发桌面程序(Winform)程序的时候,

经常需要获取一些跟系统相关的信息,

以下这些代码获取能有些用处。

c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存。

首先需要引入命名空间:

using System.Management;

/// 操作系统的登录用户名:

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

//获取MAC地址:

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

//获取IP地址:

///         /// 获取客户端内网IP地址        ///         /// 
private static string getClientLocalIPAddress() { string localIP=null; try { IPHostEntry ipHost = System.Net.Dns.GetHostEntry(Dns.GetHostName());// Dns.Resolve(Dns.GetHostName()); ; IPAddress ipaddress = ipHost.AddressList[0]; localIP = ipaddress.ToString(); return "内网IP地址:"+localIP; } catch { return "内网IP地址:unknown"; } finally { } } /// /// 获得客户端外网IP地址 /// ///
IP地址
public static string getClientInternetIPAddress() { string internetAddress = ""; try { using (WebClient webClient = new WebClient()) { internetAddress = webClient.DownloadString("http://www.coridc.com/ip");//从外部网页获得IP地址 //判断IP是否合法 if (!System.Text.RegularExpressions.Regex.IsMatch(internetAddress, "[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}")) { internetAddress = webClient.DownloadString("http://fw.qq.com/ipaddress");//从腾讯提供的API中获得IP地址 } } return "外网IP地址:" + internetAddress; } catch { return "外网IP地址:unknown"; } finally { } }

//获取硬盘ID:

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"].ToString(); HDid = (String)mo.Properties["Model"].Value.ToString(); } moc = null; mc = null; return HDid; } catch { return "unknow"; } finally { } }

//获取CPUid:

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

//系统名称:

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

//获取物理内存:

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

转载于:https://www.cnblogs.com/qqhfeng/p/3832341.html

你可能感兴趣的文章
watir学习资料
查看>>
Jmeter属性和变量
查看>>
java并发编程:并发容器之CopyOnWriteArrayList(转)
查看>>
python基础——面向对象进阶下
查看>>
Linux vi 命令详解
查看>>
本地如何搭建IPv6环境测试你的APP
查看>>
oracle、mysql新增字段,字段存在则不处理
查看>>
C++ NULL与nullptr的区别
查看>>
Discretized Streams, 离散化的流数据处理
查看>>
Spark源码分析 – SchedulerBackend
查看>>
黑马程序员 Java输入\输出
查看>>
python字符串处理
查看>>
live555学习笔记4-计划任务(TaskScheduler)深入探讨
查看>>
【Unity3D】获取鼠标在三维空间(世界坐标系)的位置
查看>>
Python虚拟机函数机制之名字空间(二)
查看>>
线段树
查看>>
SharePoint2010联合搜索——Google、百度
查看>>
php静态
查看>>
python基础之文件操作
查看>>
在eclipse里头用checkstyle检查项目出现 File contains tab characters (this is the first instance)原因...
查看>>