Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
pardal3000 Aprendiz
Registrado: Segunda-Feira, 3 de Mai de 2004 Mensagens: 223
|
Enviada: Ter Out 08, 2013 5:56 pm Assunto: MAC Address - Ajuda |
|
|
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 |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qua Out 09, 2013 10:47 am Assunto: |
|
|
Fiz o teste e aqui funcionou perfeitamente.
A minha máquina é Windows XP Professional SP3. |
|
Voltar ao Topo |
|
|
pardal3000 Aprendiz
Registrado: Segunda-Feira, 3 de Mai de 2004 Mensagens: 223
|
Enviada: Qua Out 09, 2013 3:11 pm Assunto: Obrigado |
|
|
Legal natanbh1! Obrigado pelo retorno!
Alguém mais poderia ajudar?
Obrigado! |
|
Voltar ao Topo |
|
|
CesarRocha Mestre
Registrado: Segunda-Feira, 30 de Mai de 2011 Mensagens: 794 Localização: São Paulo - SP
|
Enviada: Qua Out 09, 2013 4:04 pm Assunto: |
|
|
XP 32 sp3: ok
W7 32: ok
W7 64: ok
~ |
|
Voltar ao Topo |
|
|
pardal3000 Aprendiz
Registrado: Segunda-Feira, 3 de Mai de 2004 Mensagens: 223
|
Enviada: Qua Out 09, 2013 5:47 pm Assunto: |
|
|
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 |
|
|
CesarRocha Mestre
Registrado: Segunda-Feira, 30 de Mai de 2011 Mensagens: 794 Localização: São Paulo - SP
|
Enviada: Qua Out 09, 2013 5:51 pm Assunto: |
|
|
w8 32: ok
w8 64: ok
Só não testei o 8.1 pq estou esperando o lançamento oficial. (:
~ |
|
Voltar ao Topo |
|
|
pardal3000 Aprendiz
Registrado: Segunda-Feira, 3 de Mai de 2004 Mensagens: 223
|
Enviada: Qua Out 09, 2013 6:02 pm Assunto: |
|
|
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 |
|
|
pardal3000 Aprendiz
Registrado: Segunda-Feira, 3 de Mai de 2004 Mensagens: 223
|
Enviada: Qua Out 09, 2013 6:04 pm Assunto: |
|
|
OBS: Essa função pode ser usada para criar um sistema de proteção para os programas... |
|
Voltar ao Topo |
|
|
faccruz Colaborador
Registrado: Terça-Feira, 20 de Julho de 2010 Mensagens: 1563
|
Enviada: Qui Out 10, 2013 9:19 am Assunto: |
|
|
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 |
|
|
pardal3000 Aprendiz
Registrado: Segunda-Feira, 3 de Mai de 2004 Mensagens: 223
|
Enviada: Qui Out 10, 2013 9:46 am Assunto: |
|
|
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 |
|
|
faccruz Colaborador
Registrado: Terça-Feira, 20 de Julho de 2010 Mensagens: 1563
|
Enviada: Qui Out 10, 2013 9:50 am Assunto: |
|
|
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 |
|
|
pardal3000 Aprendiz
Registrado: Segunda-Feira, 3 de Mai de 2004 Mensagens: 223
|
Enviada: Qui Out 10, 2013 10:32 am Assunto: |
|
|
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 |
|
|
faccruz Colaborador
Registrado: Terça-Feira, 20 de Julho de 2010 Mensagens: 1563
|
Enviada: Qui Out 10, 2013 11:04 am Assunto: |
|
|
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 |
|
|
pardal3000 Aprendiz
Registrado: Segunda-Feira, 3 de Mai de 2004 Mensagens: 223
|
Enviada: Qui Out 10, 2013 11:12 am Assunto: |
|
|
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 |
|
|
faccruz Colaborador
Registrado: Terça-Feira, 20 de Julho de 2010 Mensagens: 1563
|
Enviada: Qui Out 10, 2013 11:17 am Assunto: |
|
|
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 |
|
|
|