Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как определить наличие сопроцессора?

01.01.2007

В отличие от общепринятого мнения не всее клоны 486/586/686/ и Pentium имеют сопроцессор для вычислений с плавающей запятой. В примере определяется наличие сопроцессора и под Win16 и под Win32.

Пример:

{$IFDEF WIN32}
 
uses
Registry;
 
{$ENDIF}
 
function HasCoProcesser : bool;
{$IFDEF WIN32}
var
       
TheKey : hKey;
{$ENDIF}
begin
       
Result := true;
       
{$IFNDEF WIN32}
       
if GetWinFlags and Wf_80x87 = 0 then
       
Result := false;
       
{$ELSE}
       
if RegOpenKeyEx(HKEY_LOCAL_MACHINE,
       
'HARDWARE\DESCRIPTION\System\FloatingPointProcessor',0,
        KEY_EXECUTE
, TheKey) <> ERROR_SUCCESS then result := false;
       
RegCloseKey(TheKey);
{$ENDIF}
       
end;
 
procedure TForm1
.Button1Click(Sender: TObject);
begin
       
if HasCoProcesser then
               
ShowMessage('Has CoProcessor')
       
else
               
ShowMessage('No CoProcessor - Windows Emulation Mode');
end;

Взято из

DELPHI VCL FAQ Перевод с английского      

Подборку, перевод и адаптацию материала подготовил Aziz(JINX)

специально для Королевства Дельфи