Supongo que todo lo que pides lo puedes encontrar en el registro de windows, aqui te pongo un ejemplo de como acceder a él:
Código:
procedure TForm1.Button6Click(Sender: TObject);
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_Local_Machine;
Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\',False);
ShowMessage (Reg.ReadString('ProductID'));
finally
Reg.Free;
end;
end;
te dejo tambien un ejemplo de como conocer la ip y la mac hecho por Francisco Charte:
Código:
procedure TForm1.Button15Click(Sender: TObject);
Type
// Una estructura que une el estado del adaptador
// con una matriz de estructuras TNameBuffer
ASTAT = record
adapt: TAdapterStatus;
NameBuff: Array[0..29] Of TNameBuffer;
end;
Var
Adaptador: ASTAT;
Ncb: TNCB;
Nombre: String;
DatosSocket: WSAData;
BloqueIP: PHostEnt;
DirIP: in_addr;
begin
With Ncb Do // Inicializamos la estructura para ejecutar
Begin // el comando NCBSTAT
ncb_command := char(NCBASTAT);
ncb_lana_num := char(0); // asumimos que sólo hay un adaptador
ncb_callname := '*'; // y no facilitamos nombre
ncb_buffer := @Adaptador; // dirección de la estructura para obtener
ncb_length := sizeof(Adaptador); // los datos devueltos
End;
Netbios(@Ncb); // Llamada a NetBios
// Mostramos los datos
With Adaptador.adapt Do
ShowMessage('La dirección MAC es: ' +
IntToHex(Integer(adapter_address[0]), 2) +
IntToHex(Integer(adapter_address[1]), 2) +
IntToHex(Integer(adapter_address[2]), 2) +
IntToHex(Integer(adapter_address[3]), 2) +
IntToHex(Integer(adapter_address[4]), 2) +
IntToHex(Integer(adapter_address[5]), 2));
WSAStartup($0101, DatosSocket); // Inicializamos Windows sockets
SetLength(Nombre, MAX_PATH); // y obtenemos el nombre de nuestro equipo
gethostname(PChar(Nombre), MAX_PATH);
// que usamos para obtener un bloque de información sobre IP
BloqueIP := gethostbyname(PChar(Nombre));
// del cual recuperamos la dirección
CopyMemory(@DirIP, (BloqueIP^).h_addr_list^, BloqueIP.h_length);
ShowMessage(inet_ntoa(DirIP)); // y la mostramos
end;
recuerda poner en las uses la librerías correspondientes, en estos dos casos te valdría con:
Registry, Nb30, Winsock
Espero haberte servido de ayuda, Saludos, Tony