18/02/2010, 17:28
|
| | | Fecha de Ingreso: febrero-2010
Mensajes: 52
Antigüedad: 14 años, 9 meses Puntos: 0 | |
Respuesta: Estaba haciendo esta api y no me lo hace si podes ayudar mejor Cita:
Iniciado por erbuson 1 - Crea un nuevo proyecto
2 - Inserta un Timer1 y un Label1
Copia y pega este código
Pruébalo y verás como funciona correctamente esta API
Código vb:
Ver originalOption Explicit ' Api Captura Teclado Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Function KeysPressed(KeyCode1 As KeyCodeConstants, Optional KeyCode2 As KeyCodeConstants, Optional KeyCode3 As KeyCodeConstants) As Boolean ' Funcion que devuelve VERDADERO si se pulsaron las teclas solicitadas If GetAsyncKeyState(KeyCode1) >= 0 Then Exit Function If KeyCode2 = 0 Then KeysPressed = True: Exit Function If GetAsyncKeyState(KeyCode2) >= 0 Then Exit Function If KeyCode3 = 0 Then KeysPressed = True: Exit Function If GetAsyncKeyState(KeyCode3) >= 0 Then Exit Function KeysPressed = True End Function Private Sub Form_Load() ' Activamos TIMER que capturará las teclas por ejemplo cada 10 milisegundos Timer1.Interval = 10 Timer1.Enabled = True ' Maximizamos la pantalla Me.WindowState = vbMaximized ' Ajustamos y centramos el Label Label1.FontSize = 18 Label1.FontBold = True Label1.ForeColor = vbRed Label1.Caption = "oOo" Label1.AutoSize = True Label1.Move (Screen.Width - Label1.Width) / 2, (Screen.Height - Label1.Height) / 2 End Sub Private Sub Timer1_Timer() ' Captura de Teclas en el Temporizador Timer1.Enabled = False If KeysPressed(vbKeyLeft) Then Label1.Move Label1.Left - 10 ElseIf KeysPressed(vbKeyUp) Then Label1.Move Label1.Left, Label1.Top - 10 ElseIf KeysPressed(vbKeyDown) Then Label1.Move Label1.Left, Label1.Top + 10 ElseIf KeysPressed(vbKeyRight) Then Label1.Move Label1.Left + 10 End If Timer1.Enabled = True End Sub
muchas gracias ahora veo q tal esta |