Foros del Web » Programación para mayores de 30 ;) » .NET »

¿Se podría saber la Mac mediante VB.NET?

Estas en el tema de ¿Se podría saber la Mac mediante VB.NET? en el foro de .NET en Foros del Web. Buenos días Foreros !!! Bueno, pues verán necesito recuperar la Mac de un equipo para crearle una variable autentíficadora única para ese equipo. ¿Alguien podría ...
  #1 (permalink)  
Antiguo 05/01/2005, 01:10
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
¿Se podría saber la Mac mediante VB.NET?

Buenos días Foreros !!!

Bueno, pues verán necesito recuperar la Mac de un equipo para crearle una variable autentíficadora única para ese equipo.

¿Alguien podría decirme por donde TENDRÍA que empezar a mirar para saber como podría conseguir la Mac de un equipo con tarjeta?

En fin, ojala puedan ayudarme.

Desde ya, muchas gracias a toos.

Saludos.
__________________
Charlie.
  #2 (permalink)  
Antiguo 05/01/2005, 06:12
Avatar de GeRuNdIo  
Fecha de Ingreso: marzo-2004
Ubicación: Sanlúcar de Barrameda, Cádiz
Mensajes: 232
Antigüedad: 20 años, 1 mes
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:34.