Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: **Aincrad** en 15 Septiembre 2017, 19:14 pm



Título: duda (bucle con python)
Publicado por: **Aincrad** en 15 Septiembre 2017, 19:14 pm
Hola a todos los de el foro.

la duda es como podría hacer un bucle a este code para que se ejecute infinitas veces.

Código
  1. import ctypes
  2.  
  3. SetCursorPos = ctypes.windll.user32.SetCursorPos
  4. mouse_event = ctypes.windll.user32.mouse_event
  5.  
  6. def left_click(x, y, clicks=1):
  7.  
  8.  SetCursorPos(x, y)
  9.  for i in xrange(clicks):
  10.   mouse_event(2, 0, 0, 0, 0)
  11.   mouse_event(4, 0, 0, 0, 0)
  12.  
  13. left_click(000, 900) #left clicks at 200, 200 on your screen. Was able to send 10k clicks instantly.
  14.  

Estuve intentando con For y While , pero no logro como hacerlo.


Título: Re: duda (bucle con python)
Publicado por: engel lex en 15 Septiembre 2017, 21:27 pm
Código
  1. while True:
  2.  hacer_algo()

basicamente cambias el for por ese while


Título: Re: duda (bucle con python)
Publicado por: **Aincrad** en 15 Septiembre 2017, 22:11 pm
no me funciona.   :-(

básicamente lo que quiero es hacer que ese código se ejecute infinitamente, pero
no logro hacerlo.  :huh:

ya lo he intentado con while True: pero nada.


Título: Re: duda (bucle con python)
Publicado por: engel lex en 15 Septiembre 2017, 22:12 pm
a ver tu codigo con while True


Título: Re: duda (bucle con python)
Publicado por: **Aincrad** en 16 Septiembre 2017, 20:28 pm
ya lo solucione. lo estaba escribiendo mal, lo solucione con while.

tenias razón, gracias.

Código
  1. import ctypes
  2. SetCursorPos = ctypes.windll.user32.SetCursorPos
  3. mouse_event = ctypes.windll.user32.mouse_event
  4.  
  5. def left_click(x, y, clicks=1):
  6.  
  7.  SetCursorPos(x, y)
  8.  for i in xrange(clicks):
  9.   mouse_event(2, 0, 0, 0, 0)
  10.   mouse_event(4, 0, 0, 0, 0)
  11.  
  12. while 1==1:
  13.    left_click(000, 900) #left clicks at 200, 200 on your screen. Was able to send 10k clicks instantly.
  14.  


Título: Re: duda (bucle con python)
Publicado por: engel lex en 16 Septiembre 2017, 20:36 pm
fuuu!!!! D:!!! como hacerlo estrepitoso XD



primero, si tienes un bucle infinito y un codigo tan corto no necesitas el def.... segundo, era el while por for XD... tercero... con poner 1 bastaba

Código
  1. import ctypes
  2. SetCursorPos = ctypes.windll.user32.SetCursorPos
  3. mouse_event = ctypes.windll.user32.mouse_event
  4.  
  5. SetCursorPos(x, y)
  6. while True:
  7.  mouse_event(2, 0, 0, 0, 0)
  8.  mouse_event(4, 0, 0, 0, 0)
  9.  


Título: Re: duda (bucle con python)
Publicado por: **Aincrad** en 16 Septiembre 2017, 20:41 pm
ahhh, OK. de verdad es mas corto tan solo 8 lineas en vez de 13.
gracias por el code.   ;D   ;-)


Título: Re: duda (bucle con python)
Publicado por: engel lex en 16 Septiembre 2017, 20:44 pm
el asunto es lo legible...

por otro lado, ese while con esos clicks, si funciona bien, puede casusar inestablilidad del sistema, incluso puede ni si quiera leer la mayor parte... es preferible siempre usar esperas al simular inputs