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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Temas
Páginas: [1]
1  Programación / Programación Visual Basic / Problema al recoger variables en: 6 Enero 2014, 15:39 pm
Hola buenas, estoy realizando un programa y un modulo de el me esta dando problemas.

El problema lo tengo en el sub procedimiento "Keydonwn"; he asignado la tecla F8 para guardar la posicion del puntero del mouse y F9 para hacer un call a otro sub procedimiento que simula un click izquierdo, pero a la hora de pulsar F9 no hace click en las coordenadas guardadas en las variables CoordX y CoordY sino donde este situado el raton.

Veo que cambiando el call al LeftClick() por unos labels para comprobar las variables devuelven un valor de 0 y no los valores recogidos cuando hago F8.

Gracias ante todo a toda la comunidad por tantos años que lleva online esta pagina.

PD: Sé que el código es chapucero (por decir algo) y poco profesional.

Código
  1. Option Explicit
  2.  
  3. 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)
  4.  
  5. Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
  6.  
  7. Private Const MOUSEEVENTF_MOVE = &H1 ' movimiento del mouse
  8. Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' botón izquierdo presionado
  9. Private Const MOUSEEVENTF_LEFTUP = &H4 ' botón izquierdo soltado
  10. Private Const MOUSEEVENTF_RIGHTDOWN = &H8 ' botón derecho presionado
  11. Private Const MOUSEEVENTF_RIGHTUP = &H10 ' botón derecho soltado
  12. Private Const MOUSEEVENTF_MIDDLEDOWN = &H20 ' botón central presionado
  13. Private Const MOUSEEVENTF_MIDDLEUP = &H40 ' botón central soltado
  14. Private Const MOUSEEVENTF_ABSOLUTE = &H8000 ' movimiento absoluto
  15.  
  16. Private Type POINTAPI
  17.    X As Long
  18.    Y As Long
  19. End Type
  20.  
  21. Dim Mouse As POINTAPI
  22.  
  23. Private Sub Form_Load()
  24.    Timer1.Interval = 100
  25.    Timer2.Interval = 1000
  26.    lblTimeNow.Caption = Time
  27. End Sub
  28.  
  29. Private Sub Timer1_Timer()
  30.  
  31.    Call GetCursorPos(Mouse)
  32.  
  33.    lblLiveX.Caption = Mouse.X
  34.    lblLiveY.Caption = Mouse.Y
  35.  
  36. End Sub
  37.  
  38. Private Sub Timer2_Timer()
  39.    lblTimeNow.Caption = Time
  40. End Sub
  41.  
  42. Private Sub Form_KeyDown(Keycode As Integer, Shift As Integer)
  43.  
  44.    Select Case Keycode
  45.  
  46.        Case 119 'F8
  47.  
  48.            Dim CoordX As Integer
  49.            Dim CoordY As Integer
  50.            CoordX = Mouse.X
  51.            CoordY = Mouse.Y
  52.            lblMemX.Caption = CoordX
  53.            lblMemY.Caption = CoordY
  54.            lblMemSav.Caption = "Saved!"
  55.  
  56.        Case 120 'F9
  57.  
  58.            Call LeftClick
  59.  
  60.    End Select
  61.  
  62. End Sub
  63.  
  64. Public Sub LeftClick()
  65.    LeftDown
  66.    LeftUp
  67. End Sub
  68.  
  69. Public Sub LeftDown()
  70.    mouse_event MOUSEEVENTF_LEFTDOWN, CoordX, CoordY, 0, 0
  71. End Sub
  72.  
  73. Public Sub LeftUp()
  74.    mouse_event MOUSEEVENTF_LEFTUP, CoordX, CoordY, 0, 0
  75. End Sub
  76.  
  77. Public Sub MoveMouse()
  78.    mouse_event MOUSEEVENTF_MOVE, lblMemX, lblMemY, 0, 0
  79. End Sub
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines