ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

MAC Address - Ajuda
Ir à página 1, 2  Próximo
 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
pardal3000
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 3 de Mai de 2004
Mensagens: 223

MensagemEnviada: Ter Out 08, 2013 5:56 pm    Assunto: MAC Address - Ajuda Responder com Citação

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):

Código:

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!

Pardal3000
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Qua Out 09, 2013 10:47 am    Assunto: Responder com Citação

Fiz o teste e aqui funcionou perfeitamente.

A minha máquina é Windows XP Professional SP3.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
pardal3000
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 3 de Mai de 2004
Mensagens: 223

MensagemEnviada: Qua Out 09, 2013 3:11 pm    Assunto: Obrigado Responder com Citação

Legal natanbh1! Obrigado pelo retorno!

Alguém mais poderia ajudar?

Obrigado!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
CesarRocha
Mestre
Mestre


Registrado: Segunda-Feira, 30 de Mai de 2011
Mensagens: 794
Localização: São Paulo - SP

MensagemEnviada: Qua Out 09, 2013 4:04 pm    Assunto: Responder com Citação

XP 32 sp3: ok
W7 32: ok
W7 64: ok

~
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
pardal3000
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 3 de Mai de 2004
Mensagens: 223

MensagemEnviada: Qua Out 09, 2013 5:47 pm    Assunto: Responder com Citação

Opa, valeu CesarRocha!!

Eu já testei também no Windows 8 32, e funcionou, mas foi em uma máquina virtual (VirtualBox). Alguém aí poderia testar em uma cópia do Windows 8 instalada na máquina física?

Abraço!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
CesarRocha
Mestre
Mestre


Registrado: Segunda-Feira, 30 de Mai de 2011
Mensagens: 794
Localização: São Paulo - SP

MensagemEnviada: Qua Out 09, 2013 5:51 pm    Assunto: Responder com Citação

w8 32: ok
w8 64: ok

Só não testei o 8.1 pq estou esperando o lançamento oficial. (:

~
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
pardal3000
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 3 de Mai de 2004
Mensagens: 223

MensagemEnviada: Qua Out 09, 2013 6:02 pm    Assunto: Responder com Citação

Show CesarRocha! Perfeito!!!

Pedi para um amigo meu que faz manutenção em computadores, para testar quando o computador é formatado. Pra ver se vai mudar o Mac depois da formatação! E também se mudar a versão do Windows. Assim que tiver novidades eu aviso vocês!

Se mais alguém puder testar eu agradeço! Quanto mais computadores forem usados nos testes, mais confiável será o código...

Agradeço a todos pela ajuda!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
pardal3000
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 3 de Mai de 2004
Mensagens: 223

MensagemEnviada: Qua Out 09, 2013 6:04 pm    Assunto: Responder com Citação

OBS: Essa função pode ser usada para criar um sistema de proteção para os programas...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
faccruz
Colaborador
Colaborador


Registrado: Terça-Feira, 20 de Julho de 2010
Mensagens: 1563

MensagemEnviada: Qui Out 10, 2013 9:19 am    Assunto: Responder com Citação

pardal3000 escreveu:
Show CesarRocha! Perfeito!!!

Pedi para um amigo meu que faz manutenção em computadores, para testar quando o computador é formatado. Pra ver se vai mudar o Mac depois da formatação! E também se mudar a versão do Windows. Assim que tiver novidades eu aviso vocês!

Se mais alguém puder testar eu agradeço! Quanto mais computadores forem usados nos testes, mais confiável será o código...

Agradeço a todos pela ajuda!


Fico aguardando o retorno desse item!


Olha o que eu achei na NET

http://info.abril.com.br/dicas/internet/banda-larga/troque-o-endereco-mac-da-placa-de-rede.shtml
_________________
Facc System - Sistemas para Computador
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
pardal3000
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 3 de Mai de 2004
Mensagens: 223

MensagemEnviada: Qui Out 10, 2013 9:46 am    Assunto: Responder com Citação

Oi faccruz,

E aí, funcionou nos seus computadores? Por favor, teste em todos que for possível testar.

Eu pedi para o meu amigo testar em pelo menos 10 a 15 computadores diferentes, depois da formatação e/ou troca do Windows, para termos uma idéia melhor do comportamento da função. Então isso pode demorar alguns dias. Mas assim que tiver um retorno dele eu postarei a resposta aqui.

Sobre o link que enviou, realmente é possível fazer com que o Windows "enxergue" outro MAC, por isso não deve usar apenas essa função para a proteção de um software. No meu caso eu tento pegar uma identificação do HD, e se não funcionar (caso raro), então eu pego o MAC Address. Fica aí a dica...

Quem mais puder testar a função, agradecemos!!!!

Abraço!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
faccruz
Colaborador
Colaborador


Registrado: Terça-Feira, 20 de Julho de 2010
Mensagens: 1563

MensagemEnviada: Qui Out 10, 2013 9:50 am    Assunto: Responder com Citação

pardal3000 escreveu:
Oi faccruz,

E aí, funcionou nos seus computadores? Por favor, teste em todos que for possível testar.

Eu pedi para o meu amigo testar em pelo menos 10 a 15 computadores diferentes, depois da formatação e/ou troca do Windows, para termos uma idéia melhor do comportamento da função. Então isso pode demorar alguns dias. Mas assim que tiver um retorno dele eu postarei a resposta aqui.

Sobre o link que enviou, realmente é possível fazer com que o Windows "enxergue" outro MAC, por isso não deve usar apenas essa função para a proteção de um software. No meu caso eu tento pegar uma identificação do HD, e se não funcionar (caso raro), então eu pego o MAC Address. Fica aí a dica...

Quem mais puder testar a função, agradecemos!!!!

Abraço!



Essa identificação do HD, vc pega o serial fisico ou do volume?

Pois já tentei várias funções para pegar o físico do HD, mas sem sucesso nos computadores W7 (32 e 64 bits)
_________________
Facc System - Sistemas para Computador
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
pardal3000
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 3 de Mai de 2004
Mensagens: 223

MensagemEnviada: Qui Out 10, 2013 10:32 am    Assunto: Responder com Citação

Olá faccruz,

Eu uso um componente que pega o serial físico do HD. Ajuda a gente aí, que te dou mais algumas dicas... por favor, teste a função nos seus computadores e nos dê um feedback.

Abraço!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
faccruz
Colaborador
Colaborador


Registrado: Terça-Feira, 20 de Julho de 2010
Mensagens: 1563

MensagemEnviada: Qui Out 10, 2013 11:04 am    Assunto: Responder com Citação

pardal3000 escreveu:
Olá faccruz,

Eu uso um componente que pega o serial físico do HD. Ajuda a gente aí, que te dou mais algumas dicas... por favor, teste a função nos seus computadores e nos dê um feedback.

Abraço!


Fiz testes com W7 (32 e 64), WinXP (32 e 64) aqui da empresa, todos trouxeram o MAC corretamente
_________________
Facc System - Sistemas para Computador
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
pardal3000
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 3 de Mai de 2004
Mensagens: 223

MensagemEnviada: Qui Out 10, 2013 11:12 am    Assunto: Responder com Citação

faccruz,

Obrigado pelo feedback!

Por favor, leia esse meu tópico antigo:
http://www.activedelphi.com.br/forum/viewtopic.php?t=66587

Esse componente que uso tem funcionado bem, o único problema é quando o computador usa um disco sólido (SSD), então o componente tem problemas. Nestes casos, quando o componente não funcionar, vou pegar o MAC Address.

Enfatizo o que já havia falado no tópico antigo: Sinceramente, a pirataria é algo para nos preocuparmos, principalmente aqui no Brasil. Não há como competirmos se temos que embutir no preço do software as perdas com pirataria. O Active Delphi deveria abrir um tópico fixo sobre esse assunto, para que possamos trocar idéias. Acho que esse assunto é de interesse de todos, pois até mesmo se seu concorrente for pirateado você terá prejuízos!


Abraço!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
faccruz
Colaborador
Colaborador


Registrado: Terça-Feira, 20 de Julho de 2010
Mensagens: 1563

MensagemEnviada: Qui Out 10, 2013 11:17 am    Assunto: Responder com Citação

pardal3000 escreveu:
faccruz,

Obrigado pelo feedback!

Por favor, leia esse meu tópico antigo:
http://www.activedelphi.com.br/forum/viewtopic.php?t=66587

Esse componente que uso tem funcionado bem, o único problema é quando o computador usa um disco sólido (SSD), então o componente tem problemas. Nestes casos, quando o componente não funcionar, vou pegar o MAC Address.

Enfatizo o que já havia falado no tópico antigo: Sinceramente, a pirataria é algo para nos preocuparmos, principalmente aqui no Brasil. Não há como competirmos se temos que embutir no preço do software as perdas com pirataria. O Active Delphi deveria abrir um tópico fixo sobre esse assunto, para que possamos trocar idéias. Acho que esse assunto é de interesse de todos, pois até mesmo se seu concorrente for pirateado você terá prejuízos!


Abraço!



Muito obrigado.

Qual dos 2 vc está utilizando? É free? OpenSource?
_________________
Facc System - Sistemas para Computador
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Ir à página 1, 2  Próximo
Página 1 de 2

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB