RSS FEED
Mostrando entradas con la etiqueta visual basic. Mostrar todas las entradas
Mostrando entradas con la etiqueta visual basic. Mostrar todas las entradas

10 ene 2013

Crear un escaneador de puertos


Crear un escaneador de puertos 


Creo este tutorial, para crear un sencillo escaneador de puertos abiertos. 

 Primero de todo creamos un nuevo EXE Estandar.



Crearemos primero de todo un timer.
Ya creado lo dejamos donde sea en cualquier parte del formulario y le ponemos de Valor Enabled (False) y en Interval (5).
Usaremos para mostrar si tenemos puertos abiertos un Winsock.
Os mostraré como agregarlo.


En la barra de herramientas le damos a Proyecto y en ese menu desplegable le damos a Componentes, si no sabes como dale a [Ctrl+T].
Luego buscamos Microsoft Winsock Control y lo activamos.



Nos saldrá esto en la barra de herramientas.

Y lo ponemos también en nuestro formulario, y no le tocamos nada, porque sus opciones las editaremos después. Ahora creamos una lista.


Creamos 2 TextBox y 4 Botones . Nos quedaría algo así.



Ahora le cambiamos los captions a los botones, por los de: Comenzar, Parar, Limpiar, Cancelar. Y el texto del Text1 por: 127.0.0.1 y el del Text2 por: 1 Y empezamos con el código:



'-----------------------------------
Private Sub Command1_Click()
Timer1.Enabled = True 'Activa el timer, para que empiece a analizar puertos
Command1.Enabled = False 'Desactiva el botón Comenzar
Command2.Enabled = True 'Activa el botón Parar, la primera vez que se inicia no hace nada
End Sub
'-----------------------------------
Private Sub Command2_Click()
Timer1.Enabled = False 'Desactiva el timer.
Command1.Enabled = True 'Activa el botón comenzar
Command2.Enabled = False ' Y desactiva el botón Parar
End Sub
'-----------------------------------
Private Sub Command3_Click()
List1.Clear 'Limpia la lista de puertos que hayan sido detectados abiertos
End Sub
'-----------------------------------
Private Sub Command4_Click()
Timer1.Enabled = False ' Desactiva el timer
Text2.Text = "1" 'Y retorna al principio el remoteport
Command1.Enabled = True
Command2.Enabled = True 'Activa los dos botones de comenzar y parar
End Sub
'-----------------------------------
Private Sub Timer1_Timer()
On Error Resume Next
Winsock1.Close
Text2.Text = Int(Text2.Text) + 1 ' va agregando un puerto cada vez que el timer pasa.
Winsock1.RemoteHost = Text1.Text 'IP
Winsock1.RemotePort = Text2.Text 'Puerto
Winsock1.Connect 'Intenta conectarse
End Sub
'-----------------------------------
Private Sub Winsock1_Connect()
List1.AddItem "Puerto: " & Winsock1.RemotePort & " Abierto!" 'En caso de que el winsock se conecte nos lo muestra en la lista, con el puerto correspondiente
End Sub
'-----------------------------------


Y esto sería en realidad todo lo que nos hace falta para crear un escaneador de puertos realmente sencillo. Luego podemos mejorar su aspecto por otro como este.

16 ago 2012

clsButton - Botón en la barra de título (LeandroA)


clsButton - Botón en la barra de título (LeandroA) + Ejemplo(.ZIP)
Módulo clase para agregar un botón en las partes no cliente del formulario (bordes), actualmente con la llegada de Windows Seven son varias las aplicaciones que utilizan este sistema. Bien, esta clase sólo intenta crear un efecto parecido, y digo intenta ya que es otro método el que utilizan, lo que hace es crear una ventana en la que aplica el API UpdateLayeredWindow, la cual transforma un mapa de bits en una máscara para la ventana, la cual tiene soporte Alpha. Las aplicaciones por ejemplo Firefox, donde hoy en día se puede ver un botón naranja sobre el área no cliente utilizan otro método (DwmExtendFrameIntoClientArea, DwmEnableBlurBehindWindow) que es el de repintar el marco de la ventana empleando la nueva Guid de Windows Seven, esta clase también se puede utilizar bajo Windows XP, para ser más exacto esta clase hace lo mismo que se vé en el Botón Inicio de Windows 7.

Detalles de sus propiedades y funciones:
CreateButton: Inicializa el botón, el primer parámetro debe ser el hwnd de la ventana padre, el segundo parámetro es opcional para el ToolTipText.
LoadImageFromFile: Lee una imagen desde archivo.
LoadImageFromRes: Lee una imagen desde el archivo de recurso de la aplicación.
LoadImageFromStream: Lee una imagen desde un array de bits.
Left: Devuelve o establece la ubicación izquierda del botón con respecto a su ventana padre.
Top: Devuelve o establece la ubicación superior del botón con respecto a su ventana padre.
Right: Devuelve o establece la ubicación derecha del botón con respecto a su ventana padre.
Bottom: Devuelve o establece la ubicación inferior del botón con respecto a su ventana padre.
MoveMode: Indica a la clase en qué sentido debe mover el botón cuando la ventana padre se mueva o cambie de tamaño.
Enabled: Devuelve o establece si el botón está o no habilitado
Alpha: Transparencia del botón rango de 0 a 255.
ToolTipText: Devuelve o establece el texto mostrado cuando el mouse se sitúa sobre el control.
ImageWidth: Devuelve el ancho de la imagen cargada.
ImageHeight: Devuelve el alto de la imagen cargada.
hwnd: Devuelve el Handle del botón.
ButtonWidth: Devuelve el ancho del botón.
ButtonHeight: Devuelve el alto del botón.

Vale aclarar que el botón no tiene Caption ya que es una tira de imágenes (la imagen debe ser siempre una tira vertical) -ver el formato en el zip del ejemplo-, el orden utilizado de los estados es Normal, Hot, Presionado y Deshabilitado. El formato de la imagen es conveniente que sea .PNG para la transparencia.

Nota: La clase subclasifica las ventanas y no utilicé el método modo seguro (SafeMode) sólo para que no sea muy grande el módulo, así que ojo No presionar el Stop del IDE de VB6. Ante cualquier error seguramente se les cerrará todo el proyecto y en el peor de los casos se les reiniciara Windows. Es recomendable comentar la línea de inicialización del botón (CreateButton) hasta que se compile el proyecto.

Desde aquí podemos descargarnos un ejemplo para aprender a poner este botón en nuestras aplicaciones:

ClsButtonNC.zip

Agradecimientos a LeandroA, íntegro autor de este mini tutorial.

19 ago 2011

Poner un Form de carga al inicio de nuestra aplicación

Cuantas veces, instalamos un programa y nos sale, la típica imagen de carga con una barra de progreso, tipo esto:



Pues vamos a tener nosotros en nuestra aplicación exactamente lo mismo. Primero abrimos un proyecto nuevo, normal.

Y agregamos un PictureBox(y ponemos la imagen que queramos que nos salga), al Form que aparecerá al iniciar nuestro programa.

Un poco de código:

Private Sub Form_Load()
Picture1.AutoSize = True
Form1.Height = Picture1.Height
Form1.Width = Picture1.Width
End Sub

Esto ajustará perfectamente, el formulario, para que simplemente solo se vea la imagen de carga.

Yo he terminado haciendo esto:



Para descargar el proyecto completo:

http://www.megaupload.com/?d=K2NYBXXB

Saludos
Arriba