Isaac's profileDeveloper en Vías de Des...BlogLists Tools Help

Blog


    ADEES

                                                                                                                                                                                                        

                                                                                                                                                                                                        

                                                                                                                                                                                                        

     

    Adees.

    Análisis y Diseños Empresariales Enfocados al Software

                                                                                                                                                                                                        

                                                                                                                                                                                                        

                                                                                                                                                                                                        

    Conociendo API’s de Windows

    Tenemos la siguiente API de windows (Interfaz de Programación de Aplicaciones).

     

    Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

     

     

    Comenzaremos como recetas de cocinas comenzando con la más sencillito hasta llegar a los platillos fuertes. Ok.

     

    Entonces comencemos con este primer artículo…

     

    Mover el puntero del ratón en las coordenadas indicadas.

    Utilizando Visual Basic 6.0

     

    Abre tu VB

    Crea un proyecto EXE

    Al formulario agregale:                                  

                1 Boton ( btnMover )

                2 Cajas de Textos ( txtPosX, txtPosY)

     

     

     

    Teniendo esto. Veamos el código.

     

    Option Explicit

     

    Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

     

    Private Sub btnMover_Click()

       SetCursorPos cLng(txtPosX.Text), cLng(txtPosY.Text)

    End Sub

     

     

    Ok, con esto esta bien. Metiéndole dos valores enteros largos y pulsando en el botón se moverá el cursor en las pociones indicadas.

     

    Ahora agreguémosles una pizca más. Vamos a modificar el código del botón.

     

     

    Option Explicit

     

    Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

     

    Private Sub btnMover_Click()

        Dim posicion As Long

        Dim index As Long

        Randomize

        For index = 0 To 1000

            posicion = SetCursorPos(Rnd(1) * 1000, Rnd(1) * 1000)

        Next

    End Sub

     

     

    Si te das cuenta hacemos uso de Random. (Randomize, Rnd)

     

    Primeros pasos para armar un proxy

     
           

    Espero y este primer screencast les sea de ayuda.

    Esto es parte de una practica en la que aprenderemos a ver el funcionamiento de los famosos sockets.

    Empezaremos diciendo que un sockets es la relación entre los dos puertos de una computadora.

    Pero ahora bien que esto de los puertos, pues que, básicamente es la entrada y salida de información de una computadora, están representados por números enteros.

    por ejemplo "80" para el Internet.

    Espero recibir sus comentarios.

    Saludos.

    Isaac.

    Este es código usado en vb6.0


    'Componente Utilizado: _
    Microsoft Winsock Control 6.0

    Option Explicit

    Private Sub Form_Load()
    With Winsock1
    'puerto de escucha
    .LocalPort = "8050"
    'poniendo a escuchar al puerto
    .Listen
    End With
    End Sub

    Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    'Este procedimiento se ejecuta por cada salida o peticion del Browser _
    el parámetro que recibe se decide si se aceptar o no la petición.
    With Winsock1
    '...cerrar la conexion antes

    .Close
    .Accept requestID
    'esto depende para Recibir datos (URL), el que se acepte la peticion recibida, _
    'MsgBox requestID
    End With
    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    'este procedimiento se produce cuando se recibe algun dato despues de se halla aceptado Aceptado: requestID
    Dim UrlBrowser As String
    With Winsock1
    'es capturada con la propiedad getdata y almacenada en _
    la variable
    .GetData UrlBrowser
    MsgBox UrlBrowser
    'se cierra la conexion
    .Close
    'y se pone de nuevo a la escucha al puerto
    .Listen
    End With
    End Sub




    LO MISMO EN VB.NET


    Imports System
    Imports System.IO
    Imports System.Net
    Imports System.Net.Sockets


    Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'como el LocalPort pero una direccion
    Dim localEndPoint As New IPEndPoint(IPAddress.Any, 8050)
    'iniciando socket, en el contructor
    Dim WinSock As New Socket(localEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
    'Explicitamente enlazando socket
    WinSock.Bind(localEndPoint)
    '.Listen, ...ponerlo a escuhcar
    WinSock.Listen(Integer.MaxValue)
    'Bucle Ciclico para Escuchar peticiones al puerto
    While True
    '.Accept requestID
    Dim ClienteSocket As Socket = WinSock.Accept()
    'MsgBox requestID, pero con Ip
    MsgBox("Nueva Conexion del Cliente: " & ClienteSocket.RemoteEndPoint.ToString())
    ''StreamReader, para trabajar con cadenas de texto en formato ANSI
    Dim Contenido As StreamReader
    Dim networkStream As New NetworkStream(ClienteSocket)
    Contenido = New StreamReader(networkStream)
    'reader.ReadLine(), devuelve la cadena (URL)
    Dim UrlBrouser As String = Contenido.ReadLine()
    MsgBox("Peticion -(URL)- Recibida: " & UrlBrouser)
    End While

    End Sub
    End Class