winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息
winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息
using System.Management; //需要在解决方案中引用System.Management.DLL文件
/// <summary>
/// 取CPU编号
/// </summary>
/// <returns></returns>
public static string GetCpuID()
{
try
{
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
string strCpuID = null;
foreach (ManagementObject mo in moc)
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
break;
}
return strCpuID;
}
catch
{
return "";
}
}
/// <summary>
/// 取第一块硬盘编号
/// </summary>
/// <returns></returns>
public static string GetHardDiskID()
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
string strHardDiskID = null;
foreach (ManagementObject mo in searcher.Get())
{
strHardDiskID = mo["SerialNumber"].ToString().Trim();
break;
}
return strHardDiskID;
}
catch
{
return "";
}
}
/// <summary>
/// 获取网卡MAC地址
/// </summary>
/// <returns></returns>
public static string GetNetCardMAC()
{
try
{
string stringMAC = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC = MC.GetInstances();
foreach (ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
stringMAC += MO["MACAddress"].ToString();
}
}
return stringMAC;
}
catch
{
return "";
}
}
/// <summary>
/// 获取硬盘信息的代码
/// </summary>
/// <param name="drvID"></param>
/// <returns></returns>
public static string GetVolOf(string drvID)
{
try
{
const int MAX_FILENAME_LEN = 256;
int retVal = 0;
int a = 0;
int b = 0;
string str1 = null;
string str2 = null;
int i = GetVolumeInformation(drvID + @":\", str1, MAX_FILENAME_LEN, ref retVal, a, b, str2, MAX_FILENAME_LEN);
return retVal.ToString("x");
}
catch
{
return "";
}
}
/// <summary>
/// 获取当前网卡IP地址
/// </summary>
/// <returns></returns>
public static string GetNetCardIP()
{
try
{
string stringIP = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC = MC.GetInstances();
foreach (ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
string[] IPAddresses = (string[])MO["IPAddress"];
if (IPAddresses.Length > 0)
{
stringIP = IPAddresses[0].ToString();
}
}
}
return stringIP;
}
catch
{
return "";
}
}
#region 调用注册表返回本地串口
/// <summary>
/// 串口函数(方法需调用注册表,串口编程所用类)
/// </summary>
/// 使用命名空间:
/// using System.Security;
/// using System.Security.Permissions;
/// <returns>返回此计算机串口数组</returns>
public static string[] GetPortNames()//
{
RegistryKey localMachine = null;
RegistryKey key2 = null;
string[] textArray = null;//这里有个判断,判断该注册表项是否存在
new RegistryPermission(RegistryPermissionAccess.Read, @"HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM").Assert();
try
{
localMachine = Registry.LocalMachine;
key2 = localMachine.OpenSubKey(@"HARDWARE\DEVICEMAP\SERIALCOMM", false);
if (key2 != null)
{
string[] valueNames = key2.GetValueNames();
textArray = new string[valueNames.Length];
for (int i = 0; i < valueNames.Length; i++)
{
textArray[i] = (string)key2.GetValue(valueNames[i]);
}
}
}
finally
{
if (localMachine != null)
{
localMachine.Close();
} if (key2 != null)
{
key2.Close();
}
CodeAccessPermission.RevertAssert();
} if (textArray == null)
{
textArray = new string[0];
}
return textArray;
}
#endregion
winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息相关推荐
- C# 学习随笔 获取计算机硬件参数,包括(CPU ID,MAC,磁盘ID和IP地址)
引用using System.Management; public static string GetCpuID() //获取CPUID { string re ...
- c# 读cpu温度,显卡温度,硬盘温度,风扇转速,硬件信息,cpu占用,附赠项目源码
http://download.csdn.net/download/fireghost57/9969844 OpenHardwareMonitor源码工程 读cpu温度,显卡温度,硬盘温度,风扇转速, ...
- 组播MAC地址和各类IP地址
MAC地址是以太网二层使用的一个48bit(6字节十六进制数)的地址,用来标识设备位置.MAC地址分成两部分,前24位是组织唯一标识符(OUI, Organizationally unique ide ...
- linux临时配置mac地址,Linux获取网卡型号、mac地址、修改IP地址的几种方法
1.获取所有有(无)网卡型号 方法一.ifconfig 用法:ifconfig | grep | cut -d ':' -f 1 ubuntu root@ubuntu:~# ifconfig | gr ...
- 2023-5-7 什么是公网、内网、局域网、广域网、互联网?已经有了mac地址为什么还需要ip地址?使用ip地址是如何进行构建互联网的?
2023-5-7 什么是公网.内网.局域网.广域网.互联网?已经有了mac地址为什么还需要ip地址?使用ip地址是如何进行构建互联网的?什么是内网穿透? 文章目录 2023-5-7 什么是公网.内网. ...
- 02. MAC地址 · ARP · ICMP · IP地址 · 子网 · 超网 · 端口
MAC · IP · 子网 · 超网 MAC地址 MAC地址的表示格式 MAC地址操作(查看.修改)[实践] MAC地址的获取[实践] ARP ICMP IP地址 · 子网掩码 IP地址的组成 IP地 ...
- Delphi 中取本机的计算机名、IP地址、Windows登录的用户名
//作者:陆岛工作室 XOtec Studio //组件库:XOtecExpress. 几个在Delphi 中取本机的计算机名.IP地址.Windows登录的用户名的函数. uses Windows, ...
- Mac查看本机ip地址
Mac查看本机ip地址 ifconfig | grep "inet" 箭头处为ip地址
- 计算机网络·啥玩意是源MAC地址,目标MAC地址,源ip地址,目标ip地址
你能清楚地知道 前言 一.别怕,类比着看 二.数据仅在交换机之间的转发 三.路由器之间的转发 四.主机之间转发 在同一个子网下(没经过路由器) 不在同一个子网下(经过路由器) 前些天发现了一个巨牛的人 ...
最新文章
- SpringBoot 深度调优,让你的项目飞起来!
- linux_一些shell命令分析记录
- 常考数据结构与算法:求二叉树的层序遍历
- 三分钟构建高性能 WebSocket 服务 | 超优雅的 SpringBoot 整合 Netty 方案
- css3 操作动画要点
- mysql中列的默认值
- 95-10-160-启动-KafkaApis
- Dumpsys Input Diagnostics
- keras可视化模型
- JavaScript是什么?看着一篇就够了
- 测试进阶必备,这5款http接口自动化测试工具真的很香
- 英语单词记忆原理及方法 - 超全思维导图梳理
- 以太网UDP协议讲解
- 计算机辅助设计师考试报考网址,计算机辅助设计师证如何报考?报名入口
- namecheap,namesilo域名注册优势,国外域名注册,2018 namesilo注册优惠码
- 解决http请求下无法开启麦克风问题
- S5PV210 裸机开发驱动之LED灯
- 有了这 15 款编程游戏,谁都可以学编程!
- 十八数藏柏松:数字藏品拥有广阔的发展空间,能为社会输出更好的价值
- 97年的欧冠决赛 多特蒙德VS尤文 中里德尔的梦
热门文章
- 畅玩mt3单机游戏服务器维护,【梦幻西游】MT3仿端手工游戏服务端源码[教程+授权物品后台]...
- VHD(Virtual Hard Disk)的解析(上篇)——PyVinil的使用
- a java runtime envi_认识java
- rabbitmq java集群_RabbitMQ集群整合SpringBoot2.x
- c语言搜索关键字吗,c语言-以关键字搜索程序
- java中接口适配器实现,12.1.8 Java中的应用-AWT事件适配器(接口的适配器模式)...
- 华为手机楷体字体下载_手机查看3D打印模型图纸,国产软件SView来了
- 收藏丨运维良药,K8S日常故障处理集锦
- 五分钟学会使用 go modules(含在家办公使用技巧)
- 深入浅出 PouchContainer 容器化业务实践 Workshop 开放报名