C# 获取硬件参数的实现方法
示例代码:
private static string GetIdentifier( string wmiClass, string wmiProperty, string wmiMustBeTrue)
{
string result = "" ;
System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
System.Management.ManagementObjectCollection moc = mc.GetInstances();
foreach (System.Management.ManagementObject mo in moc)
{
if (mo[wmiMustBeTrue].ToString() == "True" )
{
//Only get the first one
if (result == "" )
{
try
{
result = mo[wmiProperty].ToString();
break ;
}
catch
{
}
}
}
}
return result;
}
private static string GetIdentifier( string wmiClass, string wmiProperty)
{
string result = "" ;
System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
System.Management.ManagementObjectCollection moc = mc.GetInstances();
foreach (System.Management.ManagementObject mo in moc)
{
//Only get the first one
if (result == "" )
{
try
{
result = mo[wmiProperty].ToString();
break ;
}
catch
{
}
}
}
return result;
}
// cpu id
GetIdentifier( "Win32_Processor" , "UniqueId" );
//processor id
GetIdentifier( "Win32_Processor" , "ProcessorId" );
//processor name
GetIdentifier( "Win32_Processor" , "Name" );
//Manufacturer
GetIdentifier( "Win32_Processor" , "Manufacturer" );
//BIOS Identifier
private static string GetBiosId()
{
return GetIdentifier( "Win32_BIOS" , "Manufacturer" )
+ GetIdentifier( "Win32_BIOS" , "SMBIOSBIOSVersion" )
+ GetIdentifier( "Win32_BIOS" , "IdentificationCode" )
+ GetIdentifier( "Win32_BIOS" , "SerialNumber" )
+ GetIdentifier( "Win32_BIOS" , "ReleaseDate" )
+ GetIdentifier( "Win32_BIOS" , "Version" );
}
//Main physical hard drive ID
private static string GetDiskId()
{
return GetIdentifier( "Win32_DiskDrive" , "Model" )
+ GetIdentifier( "Win32_DiskDrive" , "Manufacturer" )
+ GetIdentifier( "Win32_DiskDrive" , "Signature" )
+ GetIdentifier( "Win32_DiskDrive" , "TotalHeads" );
}
//Motherboard ID
private static string GetBaseId()
{
return GetIdentifier( "Win32_BaseBoard" , "Model" )
+ GetIdentifier( "Win32_BaseBoard" , "Manufacturer" )
+ GetIdentifier( "Win32_BaseBoard" , "Name" )
+ GetIdentifier( "Win32_BaseBoard" , "SerialNumber" );
}
//Primary video controller ID
private static string GetVideoId()
{
return GetIdentifier( "Win32_VideoController" , "DriverVersion" )
+ GetIdentifier( "Win32_VideoController" , "Name" );
}
//First enabled network card ID
private static string GetMacId()
{
return GetIdentifier( "Win32_NetworkAdapterConfiguration" , "MACAddress" , "IPEnabled" );
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/lan_liang/article/details/52554464
dy("nrwz");