Ver Mensaje Individual
  #5  
Antiguo 23-03-2012
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Reputación: 20
rretamar Va camino a la famarretamar Va camino a la fama
Un código que usé una vez:

Código Delphi [-]
Function GetPrimaryNicMacAddress: String;
Type
  TGUID = Record
    A, B: word;
    D, M, S: word;
    MAC: Array[ 1..6 ] Of byte;
  End;
Var
  UuidCreateFunc: Function(Var guid: TGUID): HResult; stdcall;
  handle: THandle;
  g: TGUID;
  WinVer: _OSVersionInfoA;
  i: integer;
  //  ErrCode : HResult;
Begin
  Try
    WinVer.dwOSVersionInfoSize := sizeof(WinVer); // Tamaño
    getversionex(WinVer);  // Obtiene info del Windows en uso
    handle := LoadLibrary('RPCRT4.DLL'); // Obtiene el handle de la DLL
    If WinVer.dwMajorVersion >= 5 Then {Windows 2000 ó superior}
      @UuidCreateFunc := GetProcAddress(Handle, 'UuidCreateSequential')
    Else // (Win98 o menor)
      @UuidCreateFunc := GetProcAddress(Handle, 'UuidCreate');
    UuidCreateFunc(g); // Obtiene la info
    Result := '';
    For i := 1 To 6 Do Result := Result + IntToHex(g.MAC[ i ], 2); // Concatena la MAC Address
  Except
    Result := ''; // Resultado nulo
  End;
End;
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita