Вверх ↑
Ответов: 57
Рейтинг: 0
#1: 2016-09-04 13:23:59 ЛС | профиль | цитата
Всем привет!

Помогите вставить код правильно для определения температуры жёсткого диска :


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;
карма: 0

0