Si el programa al que se le desea enviar alguna pulsación de tecla con SendKeys, utiliza la función:
Código:
Todas las teclas que se envíen con SendKeys, el programa en cuestión no las detecta.Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Quisiera saber cómo se puede solucionar esto, ya que me está haciendo doler la cabeza.
Dejo un código de un proyecto, el cual detecta mediante GetKeyState la pulsación de los direccionales del teclado (que es lo que me interesa simular).
Solamente hay que poner 4 labels y un TIMER (intervalo 10). Los labels se llaman:
LArriba
LAbajo
LIzquierda
LDerecha
La idea es lograr mediante otro programa, enviar una simulación de las teclas direccionales del teclado, y que el proyecto detecte la pulsación y marque como “SI” se pulso.
Código:
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer Private Sub Timer1_Timer() If GetKeyState(vbKeyRight) < 0 And GetKeyState(vbKeyShift) >= 0 Then LDerecha.Caption = "si" Else LDerecha.Caption = "no" End If If GetKeyState(vbKeyUp) < 0 Then LArriba.Caption = "si" Else LArriba.Caption = "no" End If If GetKeyState(vbKeyDown) < 0 Then LAbajo.Caption = "si" Else LAbajo.Caption = "no" End If If GetKeyState(vbKeyLeft) < 0 And GetKeyState(vbKeyShift) >= 0 Then LIzquierda.Caption = "si" Else LIzquierda.Caption = "no" End If End Sub