MAC ADDRESS

SAIN 25/04/2014 11:23:58
#437609
Como fazer para que o executavel apenas abra no PC cadastrado? pelo mac address??

Obrigado
NILSONTRES 25/04/2014 14:00:49
#437617

Primeiramente identifique o Mac de cada Maquina, tem exemplos por ai, se não achar eu posto um.
Depois cadastre o macadress de cada maquina em BD, depois na tela de login consulte esse cadastro e valide, de acordo com o Mac da maquina que esta tentando logar..
SAIN 25/04/2014 15:18:28
#437621
Citação:

:

Primeiramente identifique o Mac de cada Maquina, tem exemplos por ai, se não achar eu posto um.
Depois cadastre o macadress de cada maquina em BD, depois na tela de login consulte esse cadastro e valide, de acordo com o Mac da maquina que esta tentando logar..


Certo, como identificar eu tenho... falta o resto, se pudesse me ajudar com o code ficaria grato.

Obrigado mesmo assim.
NICKOSOFT 06/05/2014 06:54:23
#437884
não entendi, qual a duvida, em como cadastrar em uma tabela os MAC? e como consultar essa tabela se o MAC da maquina esta la?
tudo pode ser feito igual qq outra informação q armazena e consulta em BD
MESTRE 06/05/2014 07:35:46
#437885
Citação:

Certo, como identificar eu tenho... falta o resto, se pudesse me ajudar com o code ficaria grato.

Obrigado mesmo assim.



Poderia postar o code? para pegar o Mac Adreess da máquina??

Grato!
TUNUSAT 06/05/2014 08:48:30
#437891
Mestre,

Segue o código:

[ô] http://www.thescarms.com/dotnet/WMI.aspx
[ô] http://msdn.microsoft.com/pt-br/library/system.management.managementobjectsearcher(v=vs.110).aspx
[ô]
[ô] Requer adicionar a referência para [Ô]System.Management.dll[Ô]
[ô]
Imports System.Management

Public Class frmMacAddress

Public Function MacAddress() As String

Try
Dim strMACAddress As String = [Ô][Ô]
[ô]
[ô] Criar a consulta, em sintaxe SQL, para recuperar as propriedades do
[ô]adaptador da rede ativa.
[ô]
Dim strQuery As String = _
[Ô]SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True[Ô]
[ô]
[ô] Criar um objeto de passagem ManagementObjectSearcher na consulta para ser executado.
[ô]
Dim query As ManagementObjectSearcher = New ManagementObjectSearcher(strQuery)

[ô]
[ô] Criar um ManagementObjectCollection atribuindo-lhe os resultados da consulta.
[ô]
Dim queryCollection As ManagementObjectCollection = query.Get()

[ô]
[ô] Loop através dos resultados para extrair o MAC Address.
[ô]
Dim mo As ManagementObject

For Each mo In queryCollection
strMACAddress = mo([Ô]MacAddress[Ô]).ToString().Replace([Ô]:[Ô], [Ô][Ô])
Exit For
Next

Return strMACAddress

Catch ex As Exception
Return [Ô][Ô]
End Try

End Function

Private Sub frmMacAddress_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MessageBox.Show(MacAddress)
End Sub

End Class


[][ô]s,
Tunusat.
MESTRE 06/05/2014 11:19:55
#437895
Valeu TUNUSAT ..

Bem bacana!
MESTRE 06/05/2014 11:36:19
#437897
Pra resolver esse caso você faz um Insert e uma Consulta no BD, se o retorno da consulta for = vazio você cadastra a MAC (pela 1° vez)..
se não for vazio, você compara com a Mac Cadastrada no BD, aí se for diferente o sistema não abre, bem simples de fazer..

Ai por exemplo o que pensei que também acho bacana é na tabela Login ter os campos:

- Login
- Senha
- macID

ai em pra cada usuário você grava 1 MacID, e depois faz o que eu disse acima, compara e se for igual libera, senão não deixa..

Isso é bem legal também porque vai evitar o problema de outra pessoa mesmo sabendo o login e senha não vai conseguir acessar :)

Daí depois que você realizar o primeiro acesso em todas as maquinas você tira o INSERT e só faz a consulta :)
Faça seu login para responder