PDA

Ver la Versión Completa : El identificador de la tarjeta de red


dec
01-07-2006, 01:25:30
Como todos sabemos, cada tarjeta de red se identifica por medio de un número de 48 bits que es único. Para recuperar este valor (en una máquina que tenga tarjeta de red, por supuesto) podemos utilizar funciones de NetBios. Hay que tener en cuenta que una misma máquina puede tener instalada más de un adaptador de red. Pero si quiere una función sencilla que le dé el identificador de la tarjeta principal, podemos basarnos en que el algoritmo de generación de identificadores únicos para OLE utiliza este valor para garantizar la unicidad del resultado.


function GetNetworkID: string;
var
G: TGuid;
begin
OleCheck(CoCreateGuid(G));
Result := GuidToString(G);
Result := Copy(Result, Length(Result) - 12, 12);
end;


Para comprobar el resultado de la función, ejecute el programa winipcfg en su Windows y compare el identificador de la tarjeta que este programa nos muestra. Puede también teclear en el editor de Delphi o C++ Builder la combinación Ctrl+May+G.

Un detalle final: he utilizado el tipo string para el valor de retorno. Pero también es posible retornar el valor como un Int64.