¿Listar SSID de redes wifi cercanas con VB.NET?

Iniciado por dont'Exist, 26 Diciembre 2011, 04:55 AM

0 Miembros y 1 Visitante están viendo este tema.

dont'Exist

Estoy haciendo un pequeño programita que incluya una función de estas características pero solo necesito que muestre los nombres de las redes cercanas que el equipo detecte y la intensidad de la señal, solo eso. No quiero hacer que intente conectar ni cosas por el estilo.

He buscado bien, pero no encuentro o no sé cómo más hacerlo y recurro aquí.

Si me pueden dar una mano o una guía les agradecería.

Saludos.

seba123neo

hay una libreria libre para .NET que maneja el wifi, con eso podes hacer lo que queres, buscala.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

dont'Exist

Estuve buscando y encontré algo de informacion acerca de la librería opennetcf pero a la página web oficial no puedo entrar y los ejemplos o forma de uso que se menciona en otras paginas o tienen poca info o hacen referencia a ese sitio y quedo en bolas, aunque sigo buscando.

Si encuentro algo mas lo posteo.

Un saludo, gracias.

seba123neo

la libreria es esta:

Managed Wifi API

y aca tenes el ejemplo basico de detectar las redes:

Examples

esta en C#, si lo queres en VB.NET es lo mismo, lo convertis facil.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

dont'Exist

Estuve mirando y me traumé la vida tratando de comprender la sintaxis para poder convertirlo (por algo no seguí C# ;D), intenté usar esos convertidores automáticos que hay en otros sitios pero me tiran error je.

Otro desafío para mí... :rolleyes:  ¡¿Por qué?!
Gracias loco, veré que onda.

dont'Exist

#5
Bueno, al final no me confié de ninguno de esos conversores y me puse a ver de a poco la librería Managed Wifi API y dentro de todo voy bien (espero).

Mmm... pero aún así tengo un problema, es el único error que me tira cuando quiero compilar, es en la función GetInterfaceInt() ¿algo hice mal?.
EDITO: El error es en tiempo de ejecución.

En C# el código de dicha función está así:

Código (csharp) [Seleccionar]
private int GetInterfaceInt(Wlan.WlanIntfOpcode opCode)
{
IntPtr valuePtr;
int valueSize;
Wlan.WlanOpcodeValueType opcodeValueType;
Wlan.ThrowIfError(
Wlan.WlanQueryInterface(client.clientHandle, info.interfaceGuid, opCode, IntPtr.Zero, out valueSize, out valuePtr, out opcodeValueType));
try
{
return Marshal.ReadInt32(valuePtr);
}
finally
{
Wlan.WlanFreeMemory(valuePtr);
}
}


Y a mí me quedó así en VB.NET

Código (vbnet) [Seleccionar]
Private Function GetInterfaceInt(ByVal opCode As WlanIntfOpcode) As Integer
           Dim valuePtr As IntPtr
           Dim valueSize As Integer
           Dim opcodeValueType As WlanOpcodeValueType
           Dim CS As Integer
           Wlan.ThrowIfError(Wlan.WlanQueryInterface(Me.client.clientHandle, Me.info.interfaceGuid, opCode, IntPtr.Zero, valueSize, valuePtr, opcodeValueType))
           Try
               CS = Marshal.ReadInt32(valuePtr)
           Finally
               Wlan.WlanFreeMemory(valuePtr)
           End Try
           Return CS
       End Function


El error dice lo siguiente
CitarNo se controló Win32Exception. Solicitud no compatible
CitarExcepción del tipo 'System.ComponentModel.Win32Exception'
en la siguiente línea:

Código (vbnet) [Seleccionar]
Wlan.ThrowIfError(Wlan.WlanQueryInterface(Me.client.clientHandle, Me.info.interfaceGuid, opCode, IntPtr.Zero, valueSize, valuePtr, opcodeValueType))

Pero sigo sin entender qué "solicitud no es compatible". Si me pueden ayudar, gracias.

P. D.: Gracias a seba123neo quedé medio loco con C# ya que me costó un poco entender como venía la mano con eso para traspasarlo a VB.NET.  ;D

kub0x

Si consigues traducir la API no te olvides de resubirla en VB .NET, siento bastante curiosidad por este tema y no encuentro algo en VB para desarrollarlo.

Saludos :P
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


dont'Exist

#7
Cita de: dsdsasdasd en 10 Enero 2012, 00:39 AM

Mmm... pero aún así tengo un problema, es el único error que me tira cuando quiero compilar, es en la función GetInterfaceInt() ¿algo hice mal?.
Perdón, no puse bien. El error no es en tiempo de compilación sino en tiempo de ejecución.

Cita de: kub0x en 10 Enero 2012, 13:40 PM
Si consigues traducir la API no te olvides de resubirla en VB .NET, siento bastante curiosidad por este tema y no encuentro algo en VB para desarrollarlo.

Saludos :P

Mmm... no sé, veré. Intentá traducirlo vos, es bastante divertido jeje. :xD
Pero... ¿alguna guía mi problema?
Saludos.

seba123neo

de donde sacaste ese codigo de C# ? yo despues cuando llege a mi casa a la noche lo pruebo y veo que puedo hacer.

los conversores online son una porqueria, te ponen cualquier cosa en el codigo, pero el mejor que he encontrado es el de Telerik, he probado convertir clases enteras de cientos de lineas de codigo y las pasa sin errores. siempre lo uso.

http://converter.telerik.com/

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson