Página 1 de 1

Wifi Virtual Router

Publicado: 30 Ene 2014, 04:46
por PDF
Buenas

Quisiera poner a disposición de los programadores del foro esta aplicación en la que he estado trabajando, para que ante un error me puedan informar y hacer las modificaciones correspondientes. La aplicación la llame Virtual router, investigando por internet me encontré con que es posible compartir la conexión a internet en los equipos que poseen tarjeta de red inalámbrica WLAN, es decir es posible utilizar el equipo como un Punto de Acceso a Internet, esta opción se trabaja con la linea de comandos, mediante "netsh", lo que hice fue darle un formulario a esto y asi facilitar la operación.

DESCRIPCIÓN

La aplicación activa/desactiva la red hospedada del Enrutador Virtual de Windows facilitando la tarea de compartir conexión a Internet. Cabe mencionar que la misma requiere de permisos de administrador para poder iniciar/modificar/detener la red hospedada. Funciona de una manera sencilla solo debes de hacer clic en el boton On para activar la red, puede cambiarse la contraseña y el ID a gusto, Ademas muestra el estado de la red, solo debes hacer clic derecho en el formulaio para mostrar la ventana de estado.
WIFI ROUTER.png
WIFI ROUTER.png (14.81 KiB) Visto 3283 veces
Nota: Para la primera contraseña muestra una contraseña generada al azar, luego la aplicación "recuerda" la contraseña personalizada, lo mismo para el SSID.

Re: Wifi Virtual Router

Publicado: 30 Ene 2014, 16:45
por Dany
Me parece muy bueno el programita (lastima que no puedo probar el funcionamiento por falta de hardware) mira tiene un error de ortografía en un msgbox.

Imagen

de resto funciona de lujo.

Si no quieres usar una variable para verificar el estado del checkbox podrías hacerlo así:

Código: Seleccionar todo

Func _Checkbox_show_Click()

	If Not (BitAND(GUICtrlRead($Checkbox_show), $GUI_CHECKED) = $GUI_CHECKED) Then
		GUICtrlSendMsg($Input_pass, $EM_SETPASSWORDCHAR, 9679, 0)
		_Update_State()
	Else
		GUICtrlSendMsg($Input_pass, $EM_SETPASSWORDCHAR, 0, 0)
		_Update_State()

	EndIf

EndFunc   ;==>_Checkbox_show_Click

un lujo la interface.

saludos

Re: Wifi Virtual Router

Publicado: 30 Ene 2014, 19:12
por PDF
Dany escribió:mira tiene un error de ortografía en un msgbox
Si, es que recogí la cadena directamente de StoudRead, lo corregiré ahora mismo, además las cadenas que retornan no admiten caracteres acentuados alguna y idea de porque ocurre esto?

Gracias por informarme Dany, ese error no se me habia presentado..

Re: Wifi Virtual Router

Publicado: 30 Ene 2014, 19:48
por Dany
mmm con razón. si lo que pasa que la consola de windows es Ansi no unicode.

puedes hacer esto:

Código: Seleccionar todo

local $bRet = DllCall("user32.dll", "BOOL", "OemToCharW", "str", $stdout, "wstr", "")
            If bRet[0] Then $stdout =bRet[2]
Y ahí te queda unicode. osea te mostrara los acentos, aunque quizas haya que corregir algunas cosas.

prueba a ver que tal.


saludos

Re: Wifi Virtual Router

Publicado: 30 Ene 2014, 20:30
por PDF
Si! así muestran los acentos, solo que los caracteres de retorno de carro se reempazan por "♪◙" asi que utilize StringReplace para volver a reemplazarlos por @cr de la siguiente manera:

Código: Seleccionar todo

Func _OemToCharW($_stdout)
	Local $bRet = DllCall("user32.dll", "BOOL", "OemToCharW", "str", $_stdout, "wstr", "")
	If $bRet[0] Then $_stdout = $bRet[2]
	$_stdout=StringReplace($_stdout,ChrW(9689),@CR)
	$_stdout=StringReplace($_stdout,chrw(9834),"")
	Return $_stdout
EndFunc   ;==>_OemToCharW
Gracias Dany por la ayuda. Si se presenta otro bug me informan..

Nota: He actualizado el archivo adjunto.

Re: Wifi Virtual Router

Publicado: 30 Ene 2014, 21:40
por Dany
Un gusto ayudarte.

bueno probé en la PC de mi casa(no el funcionamiento porque me conecto vía lan así que creo que no puedo compartir el internet desde el mismo dispositivo que lo recibo.)

solo para mostraste una modificacionde apariencia(en la parte de mostrar el estado) que le hice porque el blanco no se veía :smt017 :smt003


dejo el código por si te importa.

Código: Seleccionar todo

Global Const $ColorAzul=0x4294DE

Código: Seleccionar todo

Func _Status_Show()

	If $StatusShow = 0 Then
		Local $f_pos = WinGetPos($Form1_VirtualRouter)
		$Form_Status = GUICreate("", 414, 286, $f_pos[0] + 3, 133 + $f_pos[1], $WS_POPUP, 0, $Form1_VirtualRouter)
		GUISetFont(10, 400, 0, "Calibri Light")
		GUICtrlCreateLabel("", 0, 0, 416, 1)
		GUICtrlSetBkColor(-1,   $ColorAzul)
		GUISetBkColor(PixelGetColor($f_pos[0], $f_pos[1]))
		GUICtrlCreateLabel("", 48, 40, 352, 1)
		GUICtrlSetFont(-1, 10, 400, 0, "Calibri Light")
		GUICtrlSetBkColor(-1,  $ColorAzul)
		GUICtrlCreateLabel("Estado de la Red", 64, 8, 134, 27)
		GUICtrlSetFont(-1, 14, 800, 0, "Calibri")
		GUICtrlSetColor(-1,   $ColorAzul)
		GUICtrlCreateLabel("ü", 24, 8, 32, 34)
		GUICtrlSetFont(-1, 20, 800, 0, "Webdings")
		GUICtrlSetColor(-1,   $ColorAzul)
		$Label_Status = GUICtrlCreateLabel(_OemToCharW(_Get_Status(_Get_HostedNetworkState())), 56, 46, 347, 190)
		GUICtrlSetColor(-1,   $ColorAzul)
		GUICtrlCreateLabel("r", 384, 8, 21, 23)
		GUICtrlSetOnEvent(-1, '_Status_Hide')
		GUICtrlSetFont(-1, 12, 800, 0, "Webdings")
		GUICtrlSetColor(-1,   $ColorAzul)
		GUICtrlSetTip(-1, "Cerrar")
		GUICtrlSetCursor(-1, 0)
		ANIMATEWINDOW($Form_Status, 8, 200)
		GUISetState(@SW_SHOW, $Form_Status)
		WinActivate($Form1_VirtualRouter)
		$StatusShow = 1
	EndIf
EndFunc   ;==>_Status_Show

Se ve así:

Imagen


Saludos

Re: Wifi Virtual Router

Publicado: 30 Ene 2014, 22:03
por PDF
Olvide el color de fuente.. Lo que hice con el color de fondo de la ventana de estado fue PixelGetcolor y así utilizar el color de preferencia de las ventanas, para que no ocurra una mala combinación de colores pero se me paso el color de fuente, como yo estaba utilizando un color turquesa oscuro elegí el color blanco y no tuve en cuenta eso que ocurrió con el tuyo..

Al rato lo modificó.. :smt003
Saludos!