Как бы не совсем паскаль но...
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | Определение частоты процессора
function GetCPUSpeed: Double ;
const
DelayTime = 500 ;
var
TimerHi : DWORD;
TimerLo : DWORD;
PriorityClass : Integer ;
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 ;
SetPriorityClass(GetCurrentProcess, PriorityClass);
Result := TimerLo / ( 1000.0 * DelayTime);
end ;
LabelCPUSpeed . Caption := Format( 'CPU speed: %f MHz' , [GetCPUSpeed]);
|
и вот еще такая ссылочка
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Последний раз редактировалось Страдалецъ, 21.12.2011 в 11:49.
|