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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值