Autor Tema: SENDKEYS y Win7  (Leído 3688 veces)

0 Usuarios y 1 Visitante están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
SENDKEYS y Win7
« en: Noviembre 15, 2011, 04:33:34 pm »
No se que le paso a mi VB6 tengo Win7 64 y nunca tube problema con el SENDKEYS ahora no puedo usar por que me aparece el Error 73 No tiene permiso. Yo se que es del UAC del Win pero lo tengo desactivado totalmente. Y solo pasa cuando estoy probando mi programa si lo compilo no pasa nada.
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:SENDKEYS y Win7
« Respuesta #1 en: Noviembre 15, 2011, 06:29:33 pm »
usa api, SendKeys es cutre.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:SENDKEYS y Win7
« Respuesta #2 en: Noviembre 15, 2011, 06:37:51 pm »
Aca es donde tengo el error es de un ucControl.
Código: (vb) [Seleccionar]
Private Sub txtRaiz_KeyDown(KeyCode As Integer, Shift As Integer)
   
    If xFocus Then
   
        Select Case KeyCode
           Case vbKeyDown:   Sendkeys "{TAB}"
           Case vbKeyUp:     Sendkeys "+{TAB}"
           Case vbKeyReturn: Sendkeys "{TAB}"
        End Select
       
    End If
   
    RaiseEvent KeyDown(KeyCode, Shift)
   
End Sub
Como lo adaptaría este con el Api amigo Seba.

Juntando Mensajes.

Aca encontré funciona bien la tecla ENTER y vbKeyDOWN, pero el VBkeyUP no me funciona. Para que pueda volver el foco con la flecha arriba.


Código: (VB) [Seleccionar]
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 EnviarFoco(Tecla As Long)
    Call keybd_event(Tecla, 0, 0, 0)
    Call keybd_event(Tecla, 0, KEYEVENTF_KEYUP, 0)
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    Call EnviarFoco(vbKeyTab)
End Sub
« última modificación: Noviembre 15, 2011, 10:07:57 pm por xkiz ™ »
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo