Узнаем текущую частоту процессора
Сегодня я продолжу цикл статей про администрирование компьютера. Теперь мы научимся получать частоту процессора. Хочется заметить, что в разные моменты времени она будет изменяться, поэтому логично очень часто её запрашивать. Поможет нам в этом следующая функция:
И, как обычно, я покажу пример использования такого кода.
Надеюсь, у вас всё получилось и программа заработала.
А новые читатели не забывайте подписываться на обновления:)
Удачи!
_____________________________
Расслабиться пора!
Сегодня советую посмотреть веселый анимационный ролик, который называется Funny Programmers.
function GetCPUSpeed: Double; 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 := TimerLo / (1000 * DelayTime); end;
И, как обычно, я покажу пример использования такого кода.
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(Format('Your CPU speed: %f MHz', [GetCPUSpeed]));
end;
Надеюсь, у вас всё получилось и программа заработала.
А новые читатели не забывайте подписываться на обновления:)
Удачи!
_____________________________
Расслабиться пора!
Сегодня советую посмотреть веселый анимационный ролик, который называется Funny Programmers.
Комментарии
Отправить комментарий