¿Es posible ver la temperatura Harrdisk con somekind de S.M.A.R.T API o algo por el estilo?¿Cómo se lee la temperatura del disco duro?
sólo quiero la temperatura, nada más en C#
¿Es posible ver la temperatura Harrdisk con somekind de S.M.A.R.T API o algo por el estilo?¿Cómo se lee la temperatura del disco duro?
sólo quiero la temperatura, nada más en C#
Aquí está el fragmento de código de este article creo que sirve
//S.M.A.R.T. Temperature attritube
const byte TEMPERATURE_ATTRIBUTE = 194;
public List GetDriveTemp()
{
List retval = new List();
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSStorageDriver_ATAPISmartData");
//loop through all the hard disks
foreach (ManagementObject queryObj in searcher.Get())
{
byte[] arrVendorSpecific = (byte[])queryObj.GetPropertyValue("VendorSpecific");
//Find the temperature attribute
int tempIndex = Array.IndexOf(arrVendorSpecific, TEMPERATURE_ATTRIBUTE);
retval.Add(arrVendorSpecific[tempIndex + 5]);
}
}
catch (ManagementException err)
{
Console.WriteLine("An error occurred while querying for WMI data: " + err.Message);
}
return retval;
}
por qué es tempIndex + 5, y he publicado una pregunta sobre esto ya, pero hago usted sabe cómo obtener los datos de atributo 193 (número de ciclos de carga/descarga) –
funciona bien, una vez que cambie '' Lista list' a
usar VMI y MSStorageDriver_ATAPISmartData
para obtener VendorSpecific
matriz de bytes y 115 el número de bytes es temperatura. ¿Por qué 115? Más here.
código generado en parte con VMI Code Creator
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI",
"SELECT * FROM MSStorageDriver_ATAPISmartData");
foreach (ManagementObject queryObj in searcher.Get())
{
if (queryObj["VendorSpecific"] != null)
{
byte[] arrVendorSpecific = (byte[])(queryObj["VendorSpecific"]);
string temp = arrVendorSpecific[115].ToString();
}
}
Y dónde está el problema? – Burimi
hay isen't ningún problema .. i sólo tiene que encontrar un API de SMART - ive google'd pero coulden't encontrar ninguna .. – Mathias