FabioPJ 0 Denunciar post Postado Outubro 8, 2013 Olá todos! Estou a procura de uma função simples e confiável para obter o MAC Address no computador. Encontrei essa função abaixo, que funcionou normalmente nos 3 computadores que testei (Windows 7): Function MacAddress: String; var Lib: Cardinal; GUID1, GUID2: TGUID; Func: Function(GUID: PGUID): Longint; stdcall; Begin Result := ''; Lib := LoadLibrary('rpcrt4.dll'); If not (Lib = 0) Then Try @Func := GetProcAddress(Lib, 'UuidCreateSequential'); If Assigned(Func) Then Begin If (Func(@GUID1) = 0) and (Func(@GUID2) = 0) and (GUID1.D4[2] = GUID2.D4[2]) and (GUID1.D4[3] = GUID2.D4[3]) and (GUID1.D4[4] = GUID2.D4[4]) and (GUID1.D4[5] = GUID2.D4[5]) and (GUID1.D4[6] = GUID2.D4[6]) and (GUID1.D4[7] = GUID2.D4[7]) Then Begin Result := IntToHex(GUID1.D4[2], 2) + '-' + IntToHex(GUID1.D4[3], 2) + '-' + IntToHex(GUID1.D4[4], 2) + '-' + IntToHex(GUID1.D4[5], 2) + '-' + IntToHex(GUID1.D4[6], 2) + '-' + IntToHex(GUID1.D4[7], 2); end; end; Finally FreeLibrary(Lib); end; end; Por favor, poderiam testar e retornar este tópico apenas informando a versão do Windows que está usando e se funcionou ou não? Obs: Se quiserem comparar com o MAC correto, entrem no Prompt de Comando (Iniciar > Executar > cmd) e digitem "getmac" (sem aspas). O MAC obtido pela função deve ser igual ao primeiro da lista. Agradeço!!! Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
thyagoollive 2 Denunciar post Postado Outubro 16, 2013 Funciona sim Fábio. Compartilhar este post Link para o post Compartilhar em outros sites