Вверх ↑
Ответов: 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