tecla + en sendkeys o otra forma?

Iniciado por traviatØ, 28 Enero 2009, 20:15 PM

0 Miembros y 2 Visitantes están viendo este tema.

traviatØ

#10
Cita de: seba123neo en 28 Enero 2009, 21:38 PM
no entiendo tu lenguaje , que se supone que son "arbolitos  :xD ¿los nodos de un treeview?,para mandar teclas podes usar api's....

jaja, si eso creo que es, alguna idea de cual seria esa api???

y buscando encontre este codigo
Código (vb) [Seleccionar]

' Constantes para las teclas y otros

Const KEYEVENTF_KEYUP = &H2
Const KEYEVENTF_EXTENDEDKEY = &H1


'Declaración del Api keybd_event para la presión de tecla

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

' Presiona la tecla Tab
Private Sub Timer1_Timer()
Call Pulsar_Tecla(vbKeyTab)
End Sub


ahora como se que es la tecla + ??? si es que se puede alguna idea  :huh: salu2s  :D
                     

seba123neo

Código (vb) [Seleccionar]
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
    ByVal bScan As Byte, _
    ByVal dwFlags As Long, _
    ByVal dwExtraInfo As Long)


Utilizar el Api keybd_event en vez de SendKeys

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

GroK

Cita de: traviatØ en 28 Enero 2009, 21:55 PM
ahora como se que es la tecla + ??? si es que se puede alguna idea  :huh: salu2s  :D

La tecla '+' es vbKeyAdd, y eso es lo que le pasas por parametro a la funcion Pulsar_Tecla(), te referias a eso?

Saludos
"I put on my Hendrix album and my son said 'Dad, who's that?' and i said 'Well son, that's God' "- Robert Plant


Dessa

#13
Hola, para las "Marcas" (checkbox) tambien podes usar SendMessage con BM_GETCHECK para saber si está tildado, el retorno sería (0 si no está tildado, 1 tildado o  2 si está gris.
Y con  SendMessage  y BM_CLICK le mandas el click si hace falta. (buscá ejemplos)

retorno= SendMessage(Hndl, BM_GETCHECK, 0, 0)
If retorno= 0 Then Call SendMessage(Hndl, BM_CLICK, 0, 0)

Saludos

Adrian Desanti

traviatØ

hola, ya quedaria asi



Código (vb) [Seleccionar]
Const KEYEVENTF_KEYUP = &H2
Const KEYEVENTF_EXTENDEDKEY = &H1


'Declaración del Api keybd_event para la presión de tecla

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

' Presiona la tecla Tab
Private Sub Timer1_Timer()
Call Pulsar_Tecla(vbKeyAdd)
End Sub


gracias se las debo salu2s
                     

viviz02

Por lo que veo ya lo has solucionado. Pero probaste esto que dije unos post mas arriba¿?

Cita de: viviz02 en 28 Enero 2009, 20:32 PM
Supongo que puedes poner su equivalente en ascii -> 43
tuentiAlert - Notificador de cambios en tu perfil de tuenti.

www.tuentialert.es
Ya esta disponible la v0.3 para descargar

traviatØ

hola no probe con ese porque no entiendo mucho de programming y bueno ya esta resuelto gracias! nos vemos! ..