PDA

View Full Version : دمای CPU



(امید)
یک شنبه 18 خرداد 1382, 14:57 عصر
دمای CPU و system رو چطور می شه نمایش داد؟

Dracula
یک شنبه 18 خرداد 1382, 17:02 عصر
با سلام خدمت امید عزیز

این کدها برای بدست آوردن سرعت سی پی یو به مگاهرتزه . اگر برای دمای سی پی یو هم چیزی پیدا کردم خبرت میکنم .


// i have tested it on Delphi 5, but it may work on older Delphi
// versions

Program ....;
..
..


const
ID_BIT=$200000; // EFLAGS ID bit

function GetCPUSpeed: Double;
const
DelayTime = 500;
var
TimerHi, TimerLo: DWORD;
PriorityClass, Priority: Integer;
begin
try
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);

SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriorit(GetCurrentThread,THREAD_PRIORITY_ TIME_CRITICAL);

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

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

Result := TimerLo / (1000.0 * DelayTime);
except end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var cpuspeed:string;
begin
cpuspeed:=Format('%f MHz', [GetCPUSpeed]);
edit1.text := cpuspeed;
end;

منبع : مقالات سایت دلفی 3000
موفق باشید .

(امید)
یک شنبه 18 خرداد 1382, 17:47 عصر
ممنون آقا دراکولا ( راستی می شه بگی چرا این اسم رو انتخاب کردی؟ ) . اینا هم بدردم می خورد.

امیــــــــــــــــــد

JavanSoft
یک شنبه 18 خرداد 1382, 23:31 عصر
جالب بود