您的位置:首页 > 编程语言 > C#

C# 获取硬件信息 CPU、MAC等

2010-08-11 09:46 459 查看
using System.Management;

//Win32_NetworkAdapterConfiguration是WMI数据库中用来存放网络设备的信息表
ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='TRUE'");

//ManagementObjectCollection对象用来存放查询结果
ManagementObjectCollection queryCollection = query.Get();

foreach (ManagementObject mo in queryCollection)
{
Console.WriteLine("Network Card:{0}", mo["Description"]);
Console.WriteLine("MAC Address:{0}", mo["MACAddress"]);

//addresses, subnets和 defaultgateways 值都是可以包含多个值得数组.
//为了适应这种情况,为了适应这种情况,用户必须把结果分配到一个字符串数组,
//并再一次用foreach语句通过该字符串数组
string[] addresses = (string[])mo["IPAddress"];
string[] subnets = (string[])mo["IPSubnet"];
string[] defaultgateways = (string[])mo["DefaultIPGateway"];

//任何一个接口都可能有多个IP地址
foreach (string ipaddress in addresses)
{
Console.WriteLine("IP Address:{0}", ipaddress);
}

foreach (string subnet in subnets)
{
Console.WriteLine("Subnet Mask:{0}", subnet);
}

foreach (string defaultgateway in defaultgateways)
{
Console.WriteLine("Gateway:{0}", defaultgateway);
}
Console.WriteLine();
}

有关Win32_NetworkAdapterConfiguration详细类信息可参考MSDN:http://msdn.microsoft.com/en-us/library/aa394217(VS.85).aspx
Console.WriteLine("*********************************/r/n");

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Share");
foreach (ManagementObject share in searcher.Get())
{
Console.WriteLine("Share:{0}", share["Name"]);
}

有关Win32_Share详细类信息可参考MSDN:http://msdn.microsoft.com/en-us/library/aa394435(VS.85).aspx
//Get CPU ID
searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
foreach (ManagementObject share in searcher.Get())
{
Console.WriteLine("CPU ID:{0}", share["ProcessorId"]);
}

有关Win32_Processor详细类信息可参考MSDN:http://msdn.microsoft.com/en-us/library/aa394373(VS.85).aspx
//Get the First Hard Disk ID
searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject share in searcher.Get())
{
Console.WriteLine("First Hard Disk ID:{0}", share["PNPDeviceID"]);
}

有关Win32_DiskDrive详细类信息可参考MSDN:http://msdn.microsoft.com/en-us/library/aa394132(VS.85).aspx

原文地址:http://hi.baidu.com/ylwguilin/blog/item/cb453c17d494de4321a4e9e4.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: