// Mit dem folgenden Code können Sie die echte Geschwindigkeit der CPU
// im Rechner ermitteln.
// Getestet mit D4 unter XP
function CPUSpeed: string;
var
Zeit: Cardinal;
Perf, Start, Stopp: int64;
begin
SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
if QueryPerformanceFrequency(Perf) then
begin
asm
dw $310F
mov Zeit, eax
end;
QueryPerformanceCounter(Start);
sleep(10);
QueryPerformanceCounter(Stopp);
asm
dw $310F
sub eax, Zeit
mov Zeit, eax
end;
result := Formatfloat('0.00 GHz', Zeit /
(1000000000 * ((Stopp - Start) / Perf)));
end else result := 'Fehler';
end;
// Beispielaufruf
procedure TForm1.Button2Click(Sender: TObject);
begin
showmessage(CPUSpeed);
end;