GARANTIR DESCONTO

Fórum Identificar o número da BIOS... #177745

27/08/2003

0

Oi pessoal,
Fui questionado por um colega a respeito de um programa que consiga identificar o número da BIOS... Eu desconheço tal programa, por isso gostaria de saber se vocês conhecem algum programa ou código capaz de realizar esta operação?


Wan

Wan

Responder

Posts

27/08/2003

Mmtoor

Prezado Colega.
Logo apos implementation insira a seguinte função:
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)) + 1310;
        end;
        q := nil;
      end;
    end else
      if p^ in [´!´..´~´ , ´©´ , ´¸´ ] then
        q := p;
    inc(p);
  until p > PChar(Ptr($FFFFF));
  Result := TrimRight(Result);
end; 


Insira um memo no form e um btn. No evento onclick do btn insira o seguinte:

Memo1.Lines.Text := GetBiosInfoAsText;

Espero ter ajudado.
MMTOOR2003


Responder

Gostei + 0

28/08/2003

Allen74

Lembrando que este código não funciona com Windows NT/2000/XP porque estes sistemas operacionais bloqueiam o acesso a áreas de memória fora da área alocada para o aplicativo e também as áreas de memória utilizadas pela BIOS.


Responder

Gostei + 0

28/08/2003

Allen74

Complementando o que escrevi acima, após fazer uma pequena pesquisa na net:

Os sistemas operacionais com tecnologia NT extraem a informação do hardware através da interface SMBIOS (System Management BIOS), que é um padrão de interface criado para a plataforma Intel onde o fabricante da placa mãe pode fornecer informações de configuração e para diagnóstico do hardware. Dentre estas informações está o serial da BIOS (se o fabricante informar).

Com o impedimento de acessar áreas protegidas de memória, a solução para estas plataformas é utilzar esta interface através de uma API desenvolvida pela microsoft (WMI) que é utilizada para gravar algumas destas informações no registro do windows também.

Neste site: http://www.mitec.d2.cz/ você poderá encontrar um componente free (sem código fonte) que poderá extrair a informação do número serial da BIOS e muito mais.

Se tiver interesse em saber mais sobre o acesso a configurações de hardware através do windows instrumentation (WMI), comece por este link: http://www.microsoft.com/whdc/hwdev/driver/wmi/wmi-acpi.mspx. Fazendo uma busca no google pelas palavras ´Delphi WMI´ pode ser que você encontre alguma informação adicional e exemplos para Delphi.


Responder

Gostei + 0

28/08/2003

Carnette

Dê uma olhada nisso

http://www.swissdelphicenter.ch/torry/showcode.php?id=748


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar