È possibile vedere la temperatura di Harrdisk con un po 'di API S.M.A.R.T o qualcosa del genere?Come leggere la temperatura di HardDisk?
Voglio solo la temperatura, nient'altro in C#
È possibile vedere la temperatura di Harrdisk con un po 'di API S.M.A.R.T o qualcosa del genere?Come leggere la temperatura di HardDisk?
Voglio solo la temperatura, nient'altro in C#
Ecco frammento di codice da questo article Speranza che aiuta
//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;
}
perché è tempIndex + 5, e ho già postato una domanda su di esso, ma faccio sai come ottenere i dati dall'attributo 193 (carica/scarica il conteggio del ciclo) –
Funziona bene, una volta modificato 'Elenco' in' Elenco
utilizzano VMI e MSStorageDriver_ATAPISmartData
per ottenere VendorSpecific
array di byte e 115 il numero di byte è temperatura. Perché 115? Più here.
Codice in parte generato 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();
}
}
E dov'è il problema? – Burimi
non c'è alcun problema .. ho solo bisogno di trovare un'API SMART - ive google'd ma non ho potuto trovare alcun .. – Mathias