取硬盘信息出错为何
public 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 " ";
}
}//end
------解决方案--------------------private void buttonServiceTag_Click(object sender, System.EventArgs e)
{
textBoxOutput.Text = " ";
ManagementScope scope = new ManagementScope( "root\\cimv2 ");
scope.Connect();
System.Management.ObjectQuery q = new System.Management.ObjectQuery ( "select SerialNumber from Win32_BIOS ");
ManagementObjectSearcher searcher = new ManagementObjectSearcher (scope, q);
ManagementObjectCollection collection = searcher.Get();
StringBuilder sb = new StringBuilder();
foreach (ManagementObject o in collection)
{
sb.AppendFormat( "DELL ServiceTag: {0}\r\n ",o.GetPropertyValue ( "SerialNumber "));
}
textBoxOutput.Text = sb.ToString();
}
------解决方案--------------------string GetSerialNumber(string drive)
{
ManagementObject disk=new
ManagementObject( "win32_logicaldisk.deviceid=\ " " + drive + ":\ " ");
return
disk.Properties[ "VolumeSerialNumber "].Value.ToString());
}