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, "\t", pd.Value));
s += string.Format("{0}: {1}\r\n", 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, "\t", pd.Value));
s += string.Format("{0}: {1}\r\n", 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 + "\r\n");
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 "";
}
}