c# 打印 主板信息CPU信息

摘要:
Win32_Processor CPU参数的描述:AddressWidth--在32位操作系统中,值为32,在64位操作系统,值为64。Caption--设备特性的简短描述--处理器支持定义的函数ConfigManagerErrorCode--Windows API ConfigManagerUserConfig的配置管理器错误代码--如果为TRUE,设备使用用户定义的配置CpuStatus--处理器的当前状态CreationClassName--以用于创建实例继承链的第一个具体类的名称出现CurrentClockSpeed--处理器的电流速度,CurrentVoltage(MHz)--处理器的电压。VoltageCaps——处理器的电压能力Win32_Baseboard板参数描述:Caption——简短描述ConfigOptions——阵列,表示背板上跳线和开关的配置。此属性不需要表示已安装对象的值。

Win32_Processor CPU 参数说明:

AddressWidth --在32位操作系统,该值是32,在64位操作系统是64。
Architecture --所使用的平台的处理器架构。
AssetTag --代表该处理器的资产标签。
Availability --设备的状态。
Caption --设备的简短描述
Characteristics --处理器支持定义的功能
ConfigManagerErrorCode --Windows API的配置管理器错误代码
ConfigManagerUserConfig --如果为TRUE,该装置是使用用户定义的配置
CpuStatus --处理器的当前状态
CreationClassName --出现在用来创建一个实例继承链的第一个具体类的名称
CurrentClockSpeed --处理器的当前速度,以MHz为单位
CurrentVoltage --处理器的电压。如果第八位被设置,位0-6包含电压乘以10,如果第八位没有置位,则位在VoltageCaps设定表示的电压值。 CurrentVoltage时SMBIOS指定的电压值只设置
DataWidth --在32位处理器,该值是32,在64位处理器是64
Description --描述
DeviceID --在系统上的处理器的唯一标识符
ErrorCleared --如果为真,报上一个错误代码的被清除
ErrorDescription --错误的代码描述
ExtClock --外部时钟频率,以MHz为单位
Family --处理器系列类型
InstallDate --安装日期
L2CacheSize --二级缓存大小
L2CacheSpeed --二级缓存处理器的时钟速度
L3CacheSize --三级缓存的大小
L3CacheSpeed --三级缓存处理器的时钟速度
LastErrorCode --报告的逻辑设备上一个错误代码
Level --处理器类型的定义。该值取决于处理器的体系结构
LoadPercentage --每个处理器的负载能力,平均到最后一秒
Manufacturer --处理器的制造商
MaxClockSpeed --处理器的最大速度,以MHz为单位
Name --处理器的名称
NumberOfCores --芯为处理器的当前实例的数目。核心是在集成电路上的物理处理器
NumberOfEnabledCore --每个处理器插槽启用的内核数
NumberOfLogicalProcessors --用于处理器的当前实例逻辑处理器的数量
OtherFamilyDescription --处理器系列类型
PartNumber --这款处理器的产品编号制造商所设置
PNPDeviceID --即插即用逻辑设备的播放设备标识符
PowerManagementCapabilities --逻辑设备的特定功率相关的能力阵列
PowerManagementSupported --如果为TRUE,该装置的功率可以被管理,这意味着它可以被放入挂起模式
ProcessorId --描述处理器功能的处理器的信息
ProcessorType --处理器的主要功能
Revision --系统修订级别取决于体系结构
Role --所述处理器的作用
SecondLevelAddressTranslationExtensions --如果为True,该处理器支持用于虚拟地址转换扩展
SerialNumber --处理器的序列号
SocketDesignation --芯片插座的线路上使用的类型
Status --对象的当前状态
StatusInfo --对象的当前状态信息
Stepping --在处理器家族处理器的版本
SystemCreationClassName --创建类名属性的作用域计算机的价值
SystemName --系统的名称
ThreadCount --每个处理器插槽的线程数
UniqueId --全局唯一标识符的处理器
UpgradeMethod --CPU插槽的信息
Version --依赖于架构处理器的版本号
VirtualizationFirmwareEnabled --如果真,固件可以虚拟化扩展
VMMonitorModeExtensions --如果为True,该处理器支持Intel或AMD虚拟机监控器扩展。
VoltageCaps --该处理器的电压的能力

Win32_baseboard 主板 参数说明:

Caption --简短说明
ConfigOptions --数组,表示位于在底板上跳线和开关的配置。
CreationClassName --表示类的名称(就是Win32_baseboard类)
Depth --以英寸为单位的物理封装。
Description --对象的描述(底板)
Height --用英寸表示的物理包的高度
HostingBoard --如果为TRUE,该卡是一个主板,或在一个机箱中的基板。
HotSwappable --如果为TRUE,就是支持热插拔(判断是否支持热插拔)
InstallDate --日期和时间对象安装。此属性不需要的值以表示已安装的对象。
Manufacturer --表示制造商的名称
Model --物理元素的名称是已知。
Name --对象的名称标签
OtherIdentifyingInfo --捕获附加数据,超出资产标签的信息,可以用来标识物理元件
PartNumber --由负责生产或制造的物理元素的组织分配部件编号。
PoweredOn --如果为真,物理元素处于开机状态。
Product --产品的型号
Removable --判断是否可拆卸的
Replaceable --判断是否可更换的
RequirementsDescription --自由格式字符串描述方式,这张卡是身体不同于其他卡。该属性才有意义时,相对应的布尔值属性特殊要求是集真的
RequiresDaughterBoard --如果是TRUE,至少一个子板或辅助卡才能正常工作。
SerialNumber --制造商分配的用于识别所述物理元件数目。
SKU --库存的物理单元号。
SlotLayout --描述插槽位置
SpecialRequirements --如果为真,此卡是同类型的其他卡物理上唯一的,因此需要一个专门的插槽
Status --对象的当前状态。
Tag --符系统的基板唯一标识
Version --物理元素的版本
Weight --物理元素的重量英镑表示
Width --用英寸表示的物理元素的宽度

       /// <summary>
       /// 获取CPU序列号代码 
       /// </summary>
       /// <returns></returns>
        static string GetCpuID()
        {
            try
            {
                string cpuInfo = "";//cpu序列号 
                ManagementClass mc = new ManagementClass("Win32_Processor");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
                    break;
                }
                moc = null;
                mc = null;
                return cpuInfo;
            }
            catch
            {
                return "unknow";
            }
            finally
            {
            }

        }

       /// <summary>
       /// 打印CPU信息
       /// </summary>
       /// <returns></returns>
       public  static string PrintCpuInfor()
       {
           try
           {
               string s = "";
               ManagementClass mc = new ManagementClass("Win32_Processor");
               ManagementObjectCollection moc = mc.GetInstances();
               foreach (ManagementObject mo in moc)
               {
                   foreach (PropertyData pd in mo.Properties)
                   {
                       // Console.WriteLine(string.Format("{0}{1}{2}", pd.Name, "	", pd.Value));
                       s += string.Format("{0}: {1}
", pd.Name, pd.Value);
                   }
                   break;
               }
               moc = null;
               mc = null;
               return s;
           }
           catch
           {
               return "unknow";
           }
           finally
           {
           }

       }

        /// <summary> 
        /// 打印主板信息 
        /// </summary> 
       public static string  PrintMotherBoardInfo()
        {
            string s = "";
            ManagementClass mc = new ManagementClass("WIN32_BaseBoard");
            ManagementObjectCollection moc = mc.GetInstances();
            foreach (ManagementObject mo in moc)
            {
                foreach (PropertyData pd in mo.Properties)
                {
                   // Console.WriteLine(string.Format("{0}{1}{2}", pd.Name, "	", pd.Value));
                    s += string.Format("{0}: {1}
", pd.Name, pd.Value);
                }
            }
           return s;
        }
        //获取主板序号 
        public static  string GetMotherBoardSerialNumber()
        {
            ManagementClass mc = new ManagementClass("WIN32_BaseBoard");
            ManagementObjectCollection moc = mc.GetInstances();
            string SerialNumber = "";
            foreach (ManagementObject mo in moc)
            {
                SerialNumber = "" + mo["SerialNumber"].ToString() + mo["Manufacturer"];
                // richTextBox1.AppendText(SerialNumber + "
");
                break;
            }
            return SerialNumber;
        }


        /// <summary>
        /// 取第一块硬盘编号
        /// </summary>
        /// <returns></returns>
        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>
        /// 取硬盘型号
        /// </summary>
        /// <returns></returns>
        static string GetDiskModelID()
        {
            try
            {
                String HDid = "";
                ManagementClass mc = new ManagementClass("Win32_DiskDrive");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    HDid = (string)mo.Properties["Model"].Value;
                }
                moc = null;
                mc = null;
                return HDid;
            }
            catch
            {
                return "unknow";
            }
            finally
            {
            }

        }

        //获取计算机名
        static string GetComputerName()
        {
            try
            {
                return System.Environment.MachineName;

            }
            catch
            {
                return "unknow";
            }
            finally
            {
            }
        }

  

 另外,获取CPU UUID (不知道这个UUID是否是真的唯一?)

  /// <summary>
       /// 获取CPU UUID
       /// </summary>
       /// <returns></returns>
       public  static string getProcessorUUID_Number()
        {
            string strUUID = "";
            ManagementClass driveClass;//设备类型
            string processor = "Win32_Processor";//类名
            driveClass = new ManagementClass(processor);
            //MessageBox.Show(driveClass.GetQualifierValue("UUID").ToString());
            try
            {

                strUUID = driveClass.GetQualifierValue("UUID").ToString();
                strUUID = strUUID.Replace("}", "").Replace("{", "");
                return strUUID;

            }

            catch
            {

                return "";

            }

        }

  

免责声明:文章转载自《c# 打印 主板信息CPU信息》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[转]Jsoup(一)Jsoup详解(官方)NDK下 将Platinum SDK 编译成so库 (android upnp)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【Java并发基础】加锁机制解决原子性问题

前言 原子性指一个或多个操作在CPU执行的过程不被中断的特性。前面提到原子性问题产生的源头是线程切换,而线程切换依赖于CPU中断。于是得出,禁用CPU中断就可以禁止线程切换从而解决原子性问题。但是这种情况只适用于单核,多核时不适用。 以在 32 位 CPU 上执行 long 型变量的写操作为例来说明。 long 型变量是 64 位,在 32 位 CPU 上...

python限制进程、子进程占用内存大小、CPU时间的方法:resource模块

内置模块:resource 在mac环境下功能会存在问题。linux下可以使用:但是for i in range(10000)的值必须是10000或者更大的数值才有用。没有搞清楚为什么 #/usr/bin/env python #-*-coding:utf-8-*- import resource #soft,hard=resource.getrli...

sar性能监控

1、安装sar: yum -y install sysstat 第一次使用sar命令会提示如下错误:“无法打开 /var/log/sa/sa13: 没有那个文件或目录”。 这里的值13是当天的日期,如今天是2017-02-13,所以这里提示13。原因是没有生成这个文件,可以使用-o命令生成。 生成成功 2、监控CPU sar -u 2 3  #每2...

kubernetes的网络代理模式

  在k8s中,如果想ping svc以及ip,发现无法ping通,使用测试环境为k8s 1.6,后来k8s升级到1.12版本,发现ping svc以及ip可以ping通,这里分析一下原因。   后来发现是由于1.8的代理模式不是ipvs(1.6版本没有引入ipvs),1.12可以配置iptables和ipvs,而1.12版本配置使用的是ipvs。   这里...

关于Android的Build类——获取Android手机设备各种信息

经常遇到要获取Android手机设备的相关信息,来进行业务的开发,比如经常会遇到要获取CPU的类型来进行so库的动态的下载。而这些都是在Android的Build类里面。相关信息如下: privateString loadSystemInfo() { StringBuilder sb = newStringBuilder();...

c++ windows下计时

多核时代不宜再用 x86 的 RDTSC 指令测试指令周期和时间 陈硕Blog.csdn.net/Solstice 自从 Intel Pentium 加入 RDTSC 指令以来,这条指令是 micro-benchmarking 的利器,可以以极小的代价获得高精度的 CPU 时钟周期数(Time Stamp Counter),不少介绍优化的文章[1]和书籍用...