Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-09-2010
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Obtener la dirección MAC (MAC ADDRESS)

Se que el tema se ha tratado muchas veces aqui en los foros pero quiero compartir con ustedes unas cuantas lineas de cosas que he podido encontrar aquí y allá y el resultado que he obtenido.

Estaba indagando la forma de obtener un identificador unico por equipo que no fuera aleatorio (como los GUID) y que se mantuviera a lo largo de los constantes formateos. esto no para asuntos de licenciamiento (aunque puede funcionar), mas bien para ser utilizado como identificador en una sesión de clases (educación)

Al final opté por armar una cadena (algo entreversada) con el serial de la bios, el serial del disco y la mac de la ethernet principal; sacar el MD5 de esto y almacenarla en la DB como identificador único por equipo.

Tuve algunos problemas para obtener el serial del disco hasta que encontré los componentes WMI de nuestro compañero *neftalí*. muy buen trabajo por cierto. ... gracias por compartirlo.

Con estos componentes obtuve el serial de la Bios y del Disco duro.

Ahora queria obtener la MAC de la ethernet principal y no lo habia conseguido. todas las indicaciones que encontraba aquí en el foro y fuera de el me llevaban o a crear un GUID o me arrojaban resultados inexactos.

pero luego de echar de aquí y de allá me encontré con una porción de código que hace uso de las Jedi API Header Library para obtener la MAC sin usar netbios.

y aquí les dejo el código para obtener la mac de tu equipo (despues de tanta lora )

Código Delphi [-]
interface

uses .. JwaIpHlpApi, JwaIpTypes .. ;

function get_adapters_info: TStrings;

implementation

..

function get_adapters_info: TStrings;
const
  WIRELESS_ADAPTER = 71;
  ETHERNET_ADAPTER = 6;

var
  NumInterfaces: Cardinal;
  AdapterInfo: array of TIpAdapterInfo;
  OutBufLen: ULONG;
  i: integer;
  mac, Tipo : string;
  AdaptersInfo : TStrings;
begin
  GetNumberOfInterfaces(NumInterfaces);
  SetLength(AdapterInfo, NumInterfaces);
  OutBufLen := NumInterfaces * SizeOf(TIpAdapterInfo);
  GetAdaptersInfo(@AdapterInfo[0], OutBufLen);

  AdaptersInfo := TStringList.Create;

  for i := 0 to NumInterfaces - 1 do begin

    mac := Format('%.2x:%.2x:%.2x:%.2x:%.2x:%.2x',
          [AdapterInfo[i].Address[0], AdapterInfo[i].Address[1],
           AdapterInfo[i].Address[2], AdapterInfo[i].Address[3],
           AdapterInfo[i].Address[4], AdapterInfo[i].Address[5]]);

    case AdapterInfo[i].Type_ of
      WIRELESS_ADAPTER : Tipo := 'WIF';
      ETHERNET_ADAPTER : Tipo := 'ETH';
    end;

    if AdapterInfo[i].Description <> EmptyStr then
      AdaptersInfo.Add(IntToStr(i)
               + ' - ' + Tipo
               + ' - ' + AdapterInfo[i].Description
               + ' - ' + mac);
  end;
  Result := AdaptersInfo;
end;
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Obtener direccion MAC de mi PC artemisa Varios 11 07-10-2010 18:31:28
obtener ip address de un host name PablorD API de Windows 3 20-10-2008 17:34:42
obtener una direccion url rls Varios 1 12-11-2006 15:41:50
Obtener DirecciÓn De Memoria Juan Carlos API de Windows 3 20-04-2005 14:38:42
obtener direccion de la pagina web mary123 Internet 1 03-02-2005 22:08:32


La franja horaria es GMT +2. Ahora son las 02:35:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi