elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Pulsando teclas con visual basic
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Pulsando teclas con visual basic  (Leído 15,564 veces)
50l3r


Desconectado Desconectado

Mensajes: 784


Solo se que se algo pero no me acuerdo


Ver Perfil WWW
Pulsando teclas con visual basic
« en: 6 Junio 2009, 15:02 pm »

Quiero realizar un mini proyecto para mi uso personal el cual haga esto

Dejo el programa encendido

Cuando yo presione f10 el programa se encienda y empieze a dar un bucle de clicks de raton

Cuando le de al f11 que se detenga el proyecto


Como haria para poder hacer tal cosa? es decir, el dar clicks izquierdos con un bucle

gracias


En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: Pulsando teclas con visual basic
« Respuesta #1 en: 6 Junio 2009, 15:29 pm »

Mediante la API mouse_event

Código
  1. Private Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
  2. Private Const MOUSEEVENTF_LEFTDOWN = &H2
  3. Private Const MOUSEEVENTF_LEFTUP = &H4
  4. Private Const MOUSEEVENTF_MIDDLEDOWN = &H20
  5. Private Const MOUSEEVENTF_MIDDLEUP = &H40
  6. Private Const MOUSEEVENTF_MOVE = &H1
  7. Private Const MOUSEEVENTF_RIGHTDOWN = &H8
  8. Private Const MOUSEEVENTF_RIGHTUP = &H10

Llamada:
Código
  1. mouse_event MOUSEEVENTF_LEFTDOWN,100,100,0,0

Harías click con el botón izquierdo en la posición (x,y) (100,100)

Saludos


« Última modificación: 6 Junio 2009, 15:55 pm por Spider-Net » En línea

50l3r


Desconectado Desconectado

Mensajes: 784


Solo se que se algo pero no me acuerdo


Ver Perfil WWW
Re: Pulsando teclas con visual basic
« Respuesta #2 en: 6 Junio 2009, 15:31 pm »

Código
  1. Const KEYEVENTF_KEYUP = &H2
  2. Const KEYEVENTF_EXTENDEDKEY = &H1
  3.  
  4.  
  5. Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
  6.     ByVal bScan As Byte, _
  7.     ByVal dwFlags As Long, _
  8.     ByVal dwExtraInfo As Long)
  9.  
  10.  
  11.  
  12. Sub Pulsar_Tecla(vbKeyLButton As Long)
  13.  
  14.     Call keybd_event(vbKeyLButton, 0, 0, 0)
  15.  
  16.     Call keybd_event(vbKeyLButton, 0, KEYEVENTF_KEYUP, 0)
  17.  
  18. End Sub
  19.  
  20.  
  21. Private Sub Timer1_Timer()
  22. Call Pulsar_Tecla
  23. End Sub


Por ahora he hecho eso, pero me da error en el timer cuando llamo a la funcion pulsar tecla
En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: Pulsando teclas con visual basic
« Respuesta #3 en: 6 Junio 2009, 15:40 pm »

Código
  1. Private Declare Function Getasynckeystate Lib "user32" Alias "GetAsyncKeyState" (ByVal VKEY As Long) As Integer
  2. Const WM_NCLBUTTONDOWN = &HA1
  3.  
  4. Private Sub Timer1_Timer()
  5. On Error Resume Next
  6. Dim keystate As Long
  7.  
  8. keystate = Getasynckeystate(vbKeyF10)
  9. If (keystate And &H1) = &H1 Then
  10.    MsgBox "Has pulsado F10"
  11. End If
  12. End Sub

Saludos!
En línea

50l3r


Desconectado Desconectado

Mensajes: 784


Solo se que se algo pero no me acuerdo


Ver Perfil WWW
Re: Pulsando teclas con visual basic
« Respuesta #4 en: 6 Junio 2009, 15:46 pm »

eso seria una parte del codigo pero aun estoy por la pulsacion del mouse:

he cojido este codigo de recursos vb:
Código
  1. ' Constantes para las teclas y otros
  2.  
  3. Const KEYEVENTF_KEYUP = &H2
  4. Const KEYEVENTF_EXTENDEDKEY = &H1
  5.  
  6.  
  7. 'Declaración del Api keybd_event para la presión de tecla
  8.  
  9. Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
  10.    ByVal bScan As Byte, _
  11.    ByVal dwFlags As Long, _
  12.    ByVal dwExtraInfo As Long)
  13.  
  14.  
  15.  
  16. Sub Pulsar_Tecla(Tecla As Long)
  17.  
  18.    Call keybd_event(Tecla, 0, 0, 0)
  19.  
  20.    Call keybd_event(Tecla, 0, KEYEVENTF_KEYUP, 0)
  21.  
  22. End Sub
  23.  
  24. ' Presiona la tecla Tab
  25. Private Sub Timer1_Timer()
  26. Call Pulsar_Tecla([b]vbKeyTab[/b])
  27. End Sub

el vbkeytab lo cambio por chr(1) o vbkeylbutton y no me funciona me da este error:

con chr(1): type mysmatch

con vbkeylbutton: no ace nada


ayuda plis
En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: Pulsando teclas con visual basic
« Respuesta #5 en: 6 Junio 2009, 15:54 pm »

Eh?? Pero estás intentando enviar las pulsaciones del mouse con la API keybd_event???

Esa API es para los eventos del teclado no del ratón :S. Por eso pensé que lo que intentabas era detectar que se había pulsado la tecla F10 :s

Lo del ratón ya te he puesto arriba la API que tienes que usar mouse_event y también te he puesto un ejemplo de uso, que más quieres?  :huh:

PD: vbkeylbutton no es, es vbKeyLeft, y esa es la flechita de dirección izquierda del teclado no del ratón, no puedes usar la api keybd_event para capturar eventos del ratón, no tiene sentido.

Saludos.
« Última modificación: 6 Junio 2009, 15:59 pm por Spider-Net » En línea

50l3r


Desconectado Desconectado

Mensajes: 784


Solo se que se algo pero no me acuerdo


Ver Perfil WWW
Re: Pulsando teclas con visual basic
« Respuesta #6 en: 6 Junio 2009, 16:04 pm »

okey thanks, me pondre con esa api  :D
En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Pulsando teclas con visual basic
« Respuesta #7 en: 6 Junio 2009, 17:33 pm »

Mira este code lo hice recien...  :D
Me hiciste acordar a algo que quería hacer en mis tiempo de juego  :-( y nunca supe como hacerlo, hasta que bueno hoy en día ... :-(

Código
  1. Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
  2. Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
  3. Private Const MOUSELEFTDOWN = &H2 '  left button down /This is actually MOUSEEVENTF_LEFTDOWN
  4. Private Const MOUSELEFTUP = &H4 '  left button up /This is actually MOUSEEVENTF_LEFTUP
  5. Private Const KEY_TOGGLED As Integer = &H1
  6. Private Const KEY_PRESSED As Integer = &H1000
  7.  
  8. Private Sub Form_Load()
  9. Text1.Text = "" 'Para configurar los intervalos de clicks
  10. Timer1.Enabled = False
  11. Timer2.Enabled = True
  12. End Sub
  13.  
  14. Private Sub Timer1_Timer()
  15.    mouse_event MOUSELEFTDOWN, 0, 0, 0, 0 'left button goes down
  16.    mouse_event MOUSELEFTUP, 0, 0, 0, 0 'left button comes up
  17. End Sub
  18.  
  19. Private Sub Timer2_Timer()
  20. If GetKeyState(vbKeyF10) And KEY_PRESSED Then
  21.    MsgBox "Apretaste f10!"
  22.    Timer1.Interval = Val(Text1.Text)'Lee el valor del textbox en MS
  23.    Timer1.Enabled = True
  24. ElseIf GetKeyState(vbKeyF11) And KEY_PRESSED Then
  25.    MsgBox "Apretaste f11!"
  26.    Timer1.Enabled = False
  27. End If
  28. End Sub
« Última modificación: 6 Junio 2009, 17:35 pm por Emt.dev » En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Pulsando teclas con visual basic
« Respuesta #8 en: 6 Junio 2009, 20:30 pm »

Hola, mejor usa RegistrerHotKey y UnRegistrerHotKey asi no usas Timer...busca que hay en internet...

saludos.
En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Pulsando teclas con visual basic
« Respuesta #9 en: 6 Junio 2009, 20:32 pm »

Hola, mejor usa RegistrerHotKey y UnRegistrerHotKey asi no usas Timer...busca que hay en internet...

saludos.

Ok me documentaré sobre eso.  ::)
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda!! bloquear ciertas teclas en Visual Basic
Programación Visual Basic
theluigy13etv 4 6,973 Último mensaje 22 Agosto 2011, 18:11 pm
por BlackZeroX
Acabar ejecucion pulsando 0
Programación C/C++
droken26 7 3,206 Último mensaje 22 Febrero 2015, 17:12 pm
por droken26
¿Parar un bucle for pulsando una tecla? « 1 2 »
Programación C/C++
jmhr98 12 8,767 Último mensaje 23 Agosto 2018, 00:26 am
por enriquemesa8080
La UE avisa: las cookies han de aceptarse pulsando un botón
Noticias
wolfbcn 1 1,120 Último mensaje 2 Octubre 2019, 21:10 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines