我们在很多情况下想要获得计算机的硬件或操作系统的信息,比如获得CPU序列号给自己的软件添加机器码锁绑定指定电脑。又或者想要获得硬盘分区,声卡显卡等信息。需要知道managementobject。
managementobject开篇:
我们用到的主要类是ManagementObjectSearcher,该类在System.Management命名空间下。
有时候我们可以通过Environment获得一些简单的系统信息。
如:Environment.MachineName;获得计算机名。
Environment.UserName;获得操作系统登录用户名。
不过在这篇文章中主要讨论ManagementObjectSearcher获取计算机硬件及操作系统的信息。
managementobject用法步骤:
添加引用:System.Management
引入命名空间:usingSystem.Management;
创建ManagementObjectSearcher对象
anagementObjectSearchersearcher=newManagementObjectSearcher("select*from"+Key);
其中的key见下面key列表:
通过searcher.Get()获得ManagementObjectCollection集合
遍历ManagementObjectCollection集合获得ManagementObject
通过managementObject[name]或ManagementObject.GetPropertyValue(name)获得想要的属性
若不知道这里的name该写什么可以遍历打印一下:
foreach(varpropertyinmanagementObject.Properties)
{
Console.WriteLine(property.Name+":"+property.Value);
}
1
2
3
4
OK.
示例:
//获取CPU序列号
publicstringGetCPUSerialNumber()
{
try
{
ManagementObjectSearchersearcher=newManagementObjectSearcher("Select*FromWin32_Processor");
stringsCPUSerialNumber="";
foreach(ManagementObjectmoinsearcher.Get())
{
sCPUSerialNumber=mo["ProcessorId"].ToString().Trim();
break;
}
returnsCPUSerialNumber;
}
catch
{
return"";
}
}
总之,managementobject给大家简单的介绍了一些,希望大家多看看。