Buscando os dados do Windows XP e da sua máquina no Registro

Veja como captura informações do seu pc ou do cliente, muito util para um sistema de suporte

Passei um bom tempo para descobrir como alguns sistema pegava o nome do pc, do processador e etc. pesquisei na net não descobrir muita coisa não. Descobrir que alguns dados estavam no registros.

Então aprendir a ler os arquivo de registro, logo em seguida, o que deu mais trabalho, foi achar o local certo de onde ficava este arquivos.

 
Veja abaixo alguns exemplos:
 
Obs.: Você pode procurar ter acesso aos registros indo em iniciar <=> executar, digite "regedit" e aperte enter, faça um estudo sobre este registro, mas cuidado para não alterar nada, pois, pode causar erros na inicialização de algum programa ou até mesmo do windows

procedure TFrmHelpDesk.CapturandoDadosPC;
  Var Registro: TRegistry;
      TextoRegistro:string;
begin
  //Preparando a tabela

 

{Criei uma tabela chamada HelpDesk onde eu iria armazena alguns dados}
 


  DMTabelas.TblHelpDesk.Open;
  DMTabelas.TblHelpDesk.Insert;


{Nome do Processador}
{==============================================================================}
    registro:=tregistry.create;//Cria o objeto
    Registro.RootKey:=HKEY_LOCAL_MACHINE;
    registro.openkey('HARDWARE\DESCRIPTION\System\CentralProcessor\0',false);
    TextoRegistro:= Registro.ReadString('ProcessorNameString');
    DMTabelas.TblHelpDeskNomeProcessador.AsString := TextoRegistro;
    registro.Destroy;//Destroi o objeto para liberar da memória
{==============================================================================}


{Nome do Computador}
{==============================================================================}
    registro:=tregistry.create;//Cria o objeto
    Registro.RootKey:=HKEY_LOCAL_MACHINE;
    registro.openkey('SYSTEM\CurrentControlSet\control\ComputerName\ComputerName',false);
    TextoRegistro:= Registro.ReadString('ComputerName');
    DMTabelas.TblHelpDeskNomePCCham.AsString := TextoRegistro;
    registro.Destroy;//Destroi o objeto
{==============================================================================}

 (*---- Sistema do PC -----*)

 {Nome do OP}
{==============================================================================}
  registro:=tregistry.create;//Cria o objeto
  Registro.RootKey:=HKEY_LOCAL_MACHINE;
  registro.openkey('SOFTWARE\Microsoft\Windows NT\CurrentVersion',false);
  TextoRegistro:= Registro.ReadString('ProductName');
  DMTabelas.TblHelpDeskSistemaOP.AsString := TextoRegistro;
  registro.Destroy;//Destroi o objeto
{==============================================================================}

 {Nome do ID do OP}
{==============================================================================}
  registro:=tregistry.create;//Cria o objeto
  Registro.RootKey:=HKEY_LOCAL_MACHINE;
  registro.openkey('SOFTWARE\Microsoft\Windows NT\CurrentVersion',false);
  TextoRegistro:= Registro.ReadString('ProductId');
  DMTabelas.TblHelpDeskID_SistemaOP.AsString := TextoRegistro;
  registro.Destroy;//Destroi o objeto
{==============================================================================}

 {Nome do Pasta do OP}
{==============================================================================}
  registro:=tregistry.create;//Cria o objeto
  Registro.RootKey:=HKEY_LOCAL_MACHINE;
  registro.openkey('SOFTWARE\Microsoft\Windows NT\CurrentVersion',false);
  TextoRegistro:= Registro.ReadString('PathName');
  DMTabelas.TblHelpDeskPastaWin.AsString := TextoRegistro;
  registro.Destroy;//Destroi o objeto
{==============================================================================}

 {Nome do Versão de atualização do OP}
{==============================================================================}
  registro:=tregistry.create;//Cria o objeto
  Registro.RootKey:=HKEY_LOCAL_MACHINE;
  registro.openkey('SOFTWARE\Microsoft\Windows NT\CurrentVersion',false);
  TextoRegistro:= Registro.ReadString('CSDVersion');
  DMTabelas.TblHelpDeskVersaoWin.AsString := TextoRegistro;
  registro.Destroy;//Destroi o objeto
{==============================================================================}

 {Nome do Usuario de Registro do OP}
{==============================================================================}
  registro:=tregistry.create;//Cria o objeto
  Registro.RootKey:=HKEY_LOCAL_MACHINE;
  registro.openkey('SOFTWARE\Microsoft\Windows NT\CurrentVersion',false);
  TextoRegistro:= Registro.ReadString('RegisteredOwner');
  DMTabelas.TblHelpDeskUsuRegWin.AsString := TextoRegistro;
  registro.Destroy;//Destroi o objeto
{==============================================================================}

 {Nome do organização do OP}
{==============================================================================}
  registro:=tregistry.create;//Cria o objeto
  Registro.RootKey:=HKEY_LOCAL_MACHINE;
  registro.openkey('SOFTWARE\Microsoft\Windows NT\CurrentVersion',false);
  TextoRegistro:= Registro.ReadString('RegisteredOrganization');
  DMTabelas.TblHelpDeskOrgRegWin.AsString := TextoRegistro;
 registro.Destroy;//Destroi o objeto
{==============================================================================}

 {Usuário de Rede}
{==============================================================================}
 TextoRegistro:= UsuarioRede;
 DMTabelas.TblHelpDeskUsuRede.AsString:= TextoRegistro;
{==============================================================================}

 {IP atual}
{==============================================================================}
 TextoRegistro:= IPPC;
 DMTabelas.TblHelpDeskIP_PC.AsString:= TextoRegistro;
{==============================================================================}

end;

{==============================================================================}
{===================FIM DOS PROCEDIMENTOS PARTICULARES ========================}
{==============================================================================}

Logo em seguida chamei o procedimento em um btn novo, se não quiser criar um forme com as caixas de testo substitua a tabela por um showmessage só para testar e chave no evento onclick de um btn.
 
Espero ter ajudado e qualquer coisa meu email é: jaimeabreujr@hotmail.com

Fiquem com Deus
 

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados