![]() |
|
#1
|
||||
|
||||
![]() Как узнать температуру жёсткого диска?
Спасибо за советы. |
#2
|
|||
|
|||
![]() Копай в сторону S.M.A.R.T.
|
#3
|
||||
|
||||
![]() Спасибо разобрался.
Кому интересно вот код: Код:
Var Ip: Array [0..$1F] of Byte = ($00,$02,$00,$00,$D0,$01,$01,$4F,$C2,$A0,$B0,$00,$00, $00,$00,$00,$8C,$FD,$14,$00,$00,$02,$00,$00,$03,$00, $00,$00,$03,$00,$00,$00); Function GetHDDTemperarure(Nhdd: byte): String; Type TSmartData = Array [0..$20F] of Byte; Var Op: TSmartData; H: Cardinal; br: DWORD; begin H:= CreateFile(PChar('\\.\PhysicalDrive'+IntToStr(Nhdd)),$C0000000,3,nil, 3,0,0); DeviceIoControl(H,$0007C088,@Ip,$20,@Op,$210,br,nil); CloseHandle(H); Result:= IntToStr(Op[$A8]*$FF+Op[$A7]); end; procedure TForm1.Timer1Timer(Sender: TObject); begin Label1.Caption:= 'Температура: '+GetHDDTemperarure(0)+' C^'; end; |