using System;
using System.Collections .Generic ;
using System.Text ;
using System.Management ;
using System.Management .Instrumentation ;
namespace temperature
{
class Program
{
const byte TEMPERATURE_HDD = 194 ;
static public List< byte> GetDriveTemp( )
{
List< byte> retval = new List< byte> ( ) ;
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_HDD) ;
retval.Add ( arrVendorSpecific[ tempIndex + 5 ] ) ;
}
}
catch ( ManagementException err)
{
Console.WriteLine ( "An error occurred while querying for WMI data: " + err.Message ) ;
}
return retval;
}
static void Main( string[ ] args)
{
List< byte> ls = GetDriveTemp( ) ;
foreach ( byte b in ls)
Console.WriteLine ( b) ;
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRleHQ7CnVzaW5nIFN5c3RlbS5NYW5hZ2VtZW50OyAgICAgICAgICAgICAgICAKdXNpbmcgU3lzdGVtLk1hbmFnZW1lbnQuSW5zdHJ1bWVudGF0aW9uOyAgIAoKbmFtZXNwYWNlIHRlbXBlcmF0dXJlCnsKICAgIGNsYXNzIFByb2dyYW0KICAgIHsKICAgICAgICBjb25zdCBieXRlIFRFTVBFUkFUVVJFX0hERCA9IDE5NDsKICAgICAgICBzdGF0aWMgcHVibGljIExpc3Q8Ynl0ZT4gR2V0RHJpdmVUZW1wKCkKICAgICAgICB7CiAgICAgICAgICAgIExpc3Q8Ynl0ZT4gcmV0dmFsID0gbmV3IExpc3Q8Ynl0ZT4oKTsKICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE1hbmFnZW1lbnRPYmplY3RTZWFyY2hlciBzZWFyY2hlciA9IG5ldyBNYW5hZ2VtZW50T2JqZWN0U2VhcmNoZXIoInJvb3RcXFdNSSIsICJTRUxFQ1QgKiBGUk9NIE1TU3RvcmFnZURyaXZlcl9BVEFQSVNtYXJ0RGF0YSIpOwogICAgICAgICAgICAgICAgLy9sb29wIHRocm91Z2ggYWxsIHRoZSBoYXJkIGRpc2tzCiAgICAgICAgICAgICAgICBmb3JlYWNoIChNYW5hZ2VtZW50T2JqZWN0IHF1ZXJ5T2JqIGluIHNlYXJjaGVyLkdldCgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGJ5dGVbXSBhcnJWZW5kb3JTcGVjaWZpYyA9IChieXRlW10pcXVlcnlPYmouR2V0UHJvcGVydHlWYWx1ZSgiVmVuZG9yU3BlY2lmaWMiKTsKICAgICAgICAgICAgICAgICAgICAvL0ZpbmQgdGhlIHRlbXBlcmF0dXJlIGF0dHJpYnV0ZQogICAgICAgICAgICAgICAgICAgIGludCB0ZW1wSW5kZXggPSBBcnJheS5JbmRleE9mKGFyclZlbmRvclNwZWNpZmljLCBURU1QRVJBVFVSRV9IREQpOwogICAgICAgICAgICAgICAgICAgIHJldHZhbC5BZGQoYXJyVmVuZG9yU3BlY2lmaWNbdGVtcEluZGV4ICsgNV0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhdGNoIChNYW5hZ2VtZW50RXhjZXB0aW9uIGVycikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHF1ZXJ5aW5nIGZvciBXTUkgZGF0YTogIiArIGVyci5NZXNzYWdlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcmV0dmFsOwogICAgICAgIH0KCgogICAgICAgIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykKICAgICAgICB7CiAgICAgICAgICAgIExpc3Q8Ynl0ZT4gbHMgPSBHZXREcml2ZVRlbXAoKTsKICAgICAgICAgICAgZm9yZWFjaCAoYnl0ZSBiIGluIGxzKQogICAgICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoYik7CgogICAgICAgIH0KICAgIH0KfQ==
compilation info
prog.cs(4,14): error CS0234: The type or namespace name `Management' does not exist in the namespace `System'. Are you missing an assembly reference?
prog.cs(5,14): error CS0234: The type or namespace name `Management' does not exist in the namespace `System'. Are you missing an assembly reference?
Compilation failed: 2 error(s), 0 warnings
stdout