MAC ADDRESS
Como fazer para que o executavel apenas abra no PC cadastrado? pelo mac address??
Obrigado
Obrigado
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..
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.
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
tudo pode ser feito igual qq outra informação q armazena e consulta em BD
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!
Mestre,
Segue o código:
[][ô]s,
Tunusat.
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.
Valeu TUNUSAT ..
Bem bacana!
Bem bacana!
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 :)
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