Obtendo informações do BIOS

 

Esta função retorna várias informações sobre o BIOS, no formato String que você poderá facilmente armazenar o resultado em um memo veja como:

 

Memo1.Lines.Text := GetBiosInfoAsText;

 

O Memo apresentará todas as informações que a função retirou sobre a BIOS.

 

function GetBiosInfoAsText: string;

var

  p, q: Pchar;

begin

  q := nil;

  p := PChar(Ptr($FE000));

  repeat

  if q <> nil then

  begin

    if not (p^ in [#10, #13, ' '..'~' , '©' , '¸' ]) then

    begin

      if (p^ = #0) and (p - q >= 8) then

      begin

        Result := Result + TrimRight(String(q)) + #13#10;

      end;

      q := nil;

    end;

  end

  else

  if p^ in ['!'..'~' , '©' , '¸' ] then

    q := p;

  inc(p);

  until p > PChar(Ptr($FFFFF));

  Result := TrimRight(Result);

end;