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.
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 ========================}
{==============================================================================}
Fiquem com Deus