![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
05/01/2005, 06:12
|
![Avatar de GeRuNdIo](http://static.forosdelweb.com/customavatars/avatar57840_1.gif) | | | Fecha de Ingreso: marzo-2004 Ubicación: Sanlúcar de Barrameda, Cádiz
Mensajes: 232
Antigüedad: 20 años, 11 meses Puntos: 2 | |
Holaaa!!
Te expongo aqui un ejemplo para que lo entiendas y lo puedas adaptar a tus aplicaciones.
En VB.NET el proceso de obtener la dirección MAC es muy fácil de comprender y nada complejo.
Para esto usaremos el componente Process el cual es una herramienta útil para iniciar, detener, controlar y supervisar aplicaciones. Aquí lo usaremos para iniciar un proceso.
El proceso que iniciaremos será GetMac.exe el cual devuelve la dirección de control de acceso a medios (MAC, media access control) y una lista de los protocolos de red asociados con cada la dirección de todas las tarjetas de red de cada equipo, ya sea localmente o a través de una red. Nota.- Aquí solo sacaremos la dirección MAC.
A continuación muestro el código.
Función GetMac, en esta pequeña función iniciaremos el proceso GetMac.exe y redirigiremos la salida a una variable de nuestro Programa.
Public Function GetMAC() As String
Dim str As String
Dim p As New Process
'StartInfo representa el conjunto de parámetros que se van a
utilizar para iniciar un proceso.
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardOutput = True
p.StartInfo.FileName = "GetMac.exe"
p.StartInfo.Arguments = "/fo list"
p.Start()
'StandardOutput Obtiene una secuencia que se utiliza
para leer la salida de la aplicación.
str = p.StandardOutput.ReadLine
str = p.StandardOutput.ReadLine
p.WaitForExit()
Return str.Substring(23)
End Function
Si lo que quieres es comparar la MAC de la NIC donde se ejecuta el programa con la MAC que debería tener la NIC para acceder seria de esta forma:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If (GetMAC().Equals("A5-37-95-45-C1-3E")) Then
MsgBox("Acceso permitido a la Aplicación")
Else
MsgBox("Acceso denegado a la Aplicación")
Me.Close()
End If
End Sub
Espero que te haya servido, xaoo!!!
:saludos:
__________________ Una buena forma de sacar las castañas del fuego sin quemarse: LEE FOROSDELWEB..... :si:
------
F.P.R. MCAD .NET |