[Ayuda] Timer y..

Iniciado por jorgelin95, 16 Septiembre 2010, 02:45 AM

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

jorgelin95

Hola a tod@s. En este tema pedí ayuda y BlackZerox genio total me dio el API de como hacerlo lo pude hacer pero lo que hice es que cuando toque la tecla repita el toque de la tecla sin parar, es decir, toca tecla "EJEMPLO" y esta tecla no para nunca lo que yo quiero es que se toque muchas veces cuando toque la tecla y cuando no la toque no, el código es el siguiente:

 
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 Timer1_Timer()

Call Pulsar_Tecla(vbKeyTECLA)

End Sub


¿Cómo sería? ¿Me corrijen porfavor? Gracias y saludos.

bizco

#1
vbKeyTECLA ¿que valor tiene?. esa accion tiene que realizarse solo sobre tu aplicacion o de forma global en cualquier aplicacion?

jorgelin95

Cita de: ctlon en 16 Septiembre 2010, 03:36 AM
vbKeyTECLA ¿que valor tiene?. esa accion tiene que realizarse solo sobre tu aplicacion o de forma global en cualquier aplicacion?

Función global en cualquier aplicación, el valor de vbKey vendría a ser "V", saludos.


BlackZeroX

Cita de: ctlon en 16 Septiembre 2010, 03:36 AM
vbKeyTECLA ¿que valor tiene?. esa accion tiene que realizarse solo sobre tu aplicacion o de forma global en cualquier aplicacion?

Creo que solo desea las constantes... no es para tanto ¬¬"


Aqui tienes algo que te va a servir de mucho!¡.

http://infrangelux.sytes.net/FileX/index.php?dir=/BlackZeroX/Programacion/WINAPI%2032

El archivo que te recomiendo LEer es el que se llama WIN32API.txt el ejecutable puede leer facilmente dicho archivo!¡.

[OJO SOLO RESALTO MAS NO GRITO]
ESTOS ARCHIVOS ESTAN EN ARCHIVOS DE PROGRAMA  EN LA CARPTA DE VISUAL BASIC COMO PROGRAMA "VISOR DE TEXTO API"
[/OJO SOLO RESALTO MAS NO GRITO]




Código (VB) [Seleccionar]


' Teclas virtuales, juego estándar
Const VK_LBUTTON = &H1
Const VK_RBUTTON = &H2
Const VK_CANCEL = &H3
Const VK_MBUTTON = &H4             '  NO es contiguo a L RBUTTON

Const VK_BACK = &H8
Const VK_TAB = &H9

Const VK_CLEAR = &HC
Const VK_RETURN = &HD

Const VK_SHIFT = &H10
Const VK_CONTROL = &H11
Const VK_MENU = &H12
Const VK_PAUSE = &H13
Const VK_CAPITAL = &H14

Const VK_ESCAPE = &H1B

Const VK_SPACE = &H20
Const VK_PRIOR = &H21
Const VK_NEXT = &H22
Const VK_END = &H23
Const VK_HOME = &H24
Const VK_LEFT = &H25
Const VK_UP = &H26
Const VK_RIGHT = &H27
Const VK_DOWN = &H28
Const VK_SELECT = &H29
Const VK_PRINT = &H2A
Const VK_EXECUTE = &H2B
Const VK_SNAPSHOT = &H2C
Const VK_INSERT = &H2D
Const VK_DELETE = &H2E
Const VK_HELP = &H2F

' VK_A hasta VK_Z son iguales que sus equivalentes ASCII: 'A' hasta 'Z'
' VK_0 hasta VK_9 son iguales que sus equivalentes en ASCII: '0' hasta '9'

Const VK_NUMPAD0 = &H60
Const VK_NUMPAD1 = &H61
Const VK_NUMPAD2 = &H62
Const VK_NUMPAD3 = &H63
Const VK_NUMPAD4 = &H64
Const VK_NUMPAD5 = &H65
Const VK_NUMPAD6 = &H66
Const VK_NUMPAD7 = &H67
Const VK_NUMPAD8 = &H68
Const VK_NUMPAD9 = &H69
Const VK_MULTIPLY = &H6A
Const VK_ADD = &H6B
Const VK_SEPARATOR = &H6C
Const VK_SUBTRACT = &H6D
Const VK_DECIMAL = &H6E
Const VK_DIVIDE = &H6F
Const VK_F1 = &H70
Const VK_F2 = &H71
Const VK_F3 = &H72
Const VK_F4 = &H73
Const VK_F5 = &H74
Const VK_F6 = &H75
Const VK_F7 = &H76
Const VK_F8 = &H77
Const VK_F9 = &H78
Const VK_F10 = &H79
Const VK_F11 = &H7A
Const VK_F12 = &H7B
Const VK_F13 = &H7C
Const VK_F14 = &H7D
Const VK_F15 = &H7E
Const VK_F16 = &H7F
Const VK_F17 = &H80
Const VK_F18 = &H81
Const VK_F19 = &H82
Const VK_F20 = &H83
Const VK_F21 = &H84
Const VK_F22 = &H85
Const VK_F23 = &H86
Const VK_F24 = &H87

Const VK_NUMLOCK = &H90
Const VK_SCROLL = &H91

'
'   VK_L VK_R - teclas virtuales ALT, CTRL y MAYÚS izquierda y derecha.
'   Se usan sólo como parámetros para GetAsyncKeyState() y GetKeyState().
'   Ninguna otra API ni mensaje distingue las teclas derecha e izquierda de esta forma.
'  /
Const VK_LSHIFT = &HA0
Const VK_RSHIFT = &HA1
Const VK_LCONTROL = &HA2
Const VK_RCONTROL = &HA3
Const VK_LMENU = &HA4
Const VK_RMENU = &HA5

Const VK_ATTN = &HF6
Const VK_CRSEL = &HF7
Const VK_EXSEL = &HF8
Const VK_EREOF = &HF9
Const VK_PLAY = &HFA
Const VK_ZOOM = &HFB
Const VK_NONAME = &HFC
Const VK_PA1 = &HFD
Const VK_OEM_CLEAR = &HFE




Dulces Lunas!¡.
The Dark Shadow is my passion.

bizco

Si quiere saber de forma global cuando se a pulsado la tecla en cuestion necesitara mas que las constantes, esta es una forma de las mas sencillas y en el mismo enlace tiene las VK definidas.

BlackZeroX

@jorgelin95

Nesesitas un Hook al TEclado revisa los temas anteriores por hay Dessa puso 3 ligas hacia Hook's sencillos

Entre ellos el de Teclado que es el que nesesitas!¡.

http://foro.elhacker.net/programacion_visual_basic/ayuda_hook_y_apihooking-t304938.0.html

Dulces Lunas!¡.
The Dark Shadow is my passion.

bizco

para una sola tecla le sobra con GetAsyncKeyState.

jorgelin95

Gracias BlackZero ya me puse a leer la página que me has pasado, y me he orientado con el CODE, pero igual creo que no me entendieron muy bien. Yo el otro día descargue un programa lo cual su función era apretar 'space' es decir lo pobre en un juego para saltar (CS) y funciono, entonces yo mantenía apretado 'space' y saltabas varias veces, sin este programa solo salta 1 vez. La cuestión es que yo quería hacer esto pero con otra tecla en mi caso "V", igual gracias.