Como Obter Informações da BIOS no Delphi

No Delphi, podemos acessar informações da BIOS do computador diretamente pela memória. A função abaixo retorna esses dados em formato de string, permitindo exibir o resultado em um Memo.

Exibindo as Informações da BIOS

Para exibir as informações da BIOS em um componente TMemo, utilize a seguinte linha de código:

Memo1.Lines.Text := GetBiosInfoAsText();

Código da Função para Obter Informações da BIOS

A função GetBiosInfoAsText percorre a memória onde as informações da BIOS estão armazenadas, filtrando apenas os caracteres visíveis.

function GetBiosInfoAsText: string;
var
  p, q: PChar;
begin
  Result := '';
  q := nil;
  p := PChar(Ptr($FE000)); // Endereço da BIOS na memória

  repeat
    if q <> nil then
    begin
      if not (p^ in [#10, #13, ' '..'~', '©', '¸']) then
      begin
        if (p^ = #0) and (p - q >= 8) then
          Result := Result + TrimRight(String(q)) + #13#10;
        q := nil;
      end;
    end
    else if p^ in ['!'..'~', '©', '¸'] then
      q := p;

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

  Result := TrimRight(Result);
end;

Como Funciona?

  1. Acessa a memória da BIOS a partir do endereço $FE000.
  2. Lê os caracteres válidos, que incluem letras, números e símbolos ASCII visíveis.
  3. Agrupa as informações e retorna em formato de texto.

Conclusão

Essa função permite recuperar informações importantes da BIOS do computador diretamente pelo Delphi. Você pode exibir os dados em um TMemo ou armazená-los em uma variável para processamento posterior.

Posts Similares