Como Verán, lo que quiero hacer es que si en txtlog(label) el caption dice "Arriba" x ejemplo se presione VbKeyUp
Me dan Alguna idea o corregirme este código? (Se me Ocurrio a mi de esa Manera, pero no anda :S)
Código:
Const KEYEVENTF_KEYUP = &H2
Const KEYEVENTF_EXTENDEDKEY = &H1
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Sub Pulsar_Tecla(Tecla As Long)
Call keybd_event(Tecla, 0, 0, 0)
Call keybd_event(Tecla, 0, KEYEVENTF_KEYUP, 0)
End Sub
Private Sub AbajoT_Timer()
Call Pulsar_Tecla(vbKeyDown)
End Sub
Private Sub ArribaT_Timer()
Call Pulsar_Tecla(vbKeyUp)
End Sub
Private Sub bntListen_Click()
On Error GoTo errorSub
With Winsock1
.Close
.LocalPort = txtPort
.Listen
End With
Exit Sub
errorSub:
MsgBox "Error : " & Err.Description, vbCritical
End Sub
Private Sub bntSend_Click()
On Error GoTo errorSub
Winsock1.SendData txtSend
txtlog = txtlog & "Servidor : " & txtSend & vbCrLf
txtSend = ""
Exit Sub
errorSub:
MsgBox "Error : " & Err.Description
Winsock1_Close
End Sub
Private Sub DerechaT_Timer()
Call Pulsar_Tecla(vbKeyRight)
End Sub
Private Sub Form_Load()
Call bntListen_Click
AbajoT.Enabled = False
ArribaT.Enabled = False
DerechaT.Enabled = False
IzquierdaT.Enabled = False
If txtlog.Caption = "Abajo" Then
AbajoT.Enabled = True
ArribaT.Enabled = False
DerechaT.Enabled = False
IzquierdaT.Enabled = False
End If
If txtlog.Caption = "Arriba" Then
AbajoT.Enabled = False
ArribaT.Enabled = True
DerechaT.Enabled = False
IzquierdaT.Enabled = False
End If
If txtlog.Caption = "Derecha" Then
AbajoT.Enabled = False
ArribaT.Enabled = False
DerechaT.Enabled = True
IzquierdaT.Enabled = False
End If
If txtlog.Caption = "Izquierda" Then
AbajoT.Enabled = False
ArribaT.Enabled = False
DerechaT.Enabled = False
IzquierdaT.Enabled = True
End If
End Sub
Private Sub IzquierdaT_Timer()
Call Pulsar_Tecla(vbKeyLeft)
End Sub
Private Sub Winsock1_Close()
' Finaliza la conexión
Winsock1.Close
txtlog = txtlog & "*** Desconectado" & vbCrLf
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then
Winsock1.Close ' close
End If
Winsock1.Accept requestID
txtlog = "Cliente conectado. IP : " & _
Winsock1.RemoteHostIP & vbCrLf
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim dat As String
Winsock1.GetData dat, vbString
txtlog = dat & vbCrLf
End Sub
' cuando se produce un error lo envía
''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Winsock1_Error(ByVal Number As Integer, _
Description As String, _
ByVal Scode As Long, _
ByVal Source As String, _
ByVal HelpFile As String, _
ByVal HelpContext As Long, _
CancelDisplay As Boolean)
txtlog = txtlog & "*** Error : " & Description & vbCrLf
Winsock1_Close
End Sub
Gracias de Antemano