[ shaDy @ 03.01.2004. 02:24 ] @
Ima li neko ideju kako ocitati broj obrtaja colera, ili neke druge parametre, tipa temperatura procesira ili sl.

NIsam nasao neku Api funkciju ali posto podaci postoje u biosu, mora da se to moze nekako dobiti preko biosa ili slicno.

Jel se neko zezo s ovim.

pozdrav
[ Crazy Mix @ 05.01.2004. 11:41 ] @
Evo ja sam negde na netu nas'o za brzinu procesora... mozda ti zatreba...

Code:

//stavi label i timer...
 
//...i ovu funkciju
function GetCPUSpeed : integer;
const
DelayTime = 500;
var
TimerHi,
TimerLo : DWORD;
PriorityClass,
Priority : Integer;
begin
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);

SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);

Sleep(10);
asm
dw 310Fh
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep(DelayTime);
asm
dw 310Fh
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;

SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);

Result := Round(TimerLo / (1000 * DelayTime));
end;

//koriscenje
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := IntToStr(GetCPUSpeed) + ' MHz';
end;

[ morlic @ 09.01.2004. 21:46 ] @
Bez ljutnje nemoj to da koristis (Avramov kod). Procitaj iz windows registry baze tip procesora i brzinu, sto da se mucis kad su bolji od nas to vec uradili. Sto se tice ventilatora itd. jedan od pristupa je preko WMI (windows instrumentation interface) koji ima razne klase tipa: class Win32_Fan : CIM_Fan itd. Ima i drugih pristupa.

Pogledaj u MSDN-u za jos detalja :)
[ morlic @ 09.01.2004. 21:47 ] @
Ispravljam se. Nije Avramov kod (naglasio covek). Sve u svemu kod nije najsrecniji da ne ulazim u detalje.