Tooltip adherido al mouse al pausar y des-pausar. Topic is solved

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

rx65m
Posts: 19
Joined: 16 Mar 2018, 17:29

Tooltip adherido al mouse al pausar y des-pausar.

Post by rx65m » 16 Dec 2021, 09:38

·

He escrito este script para automatizar una serie de procesos que hago sobre diferentes documentos.
Funciona muy bien, aunque me complica cuando encuentro errores en esos documentos, pues al pausar para corregirlos con mucha frecuencia me olvido si lo dejé pausado o lo reinicié.
Por esta razón quisiera aplicar un Tooltip adherido al cursor permanentemente que me diga cuando tengo el script PAUSADO y se mantenga ese tooltip allí sin desaparecer, hasta que yo quite la pausa. Entonces al quitar esa pausa el Tooltip cambiará a DES-PAUSADO permaneciendo ahí por sólo 2 o 3 segundos.

He intentado muchas formas que he encontrado en el foro pero ninguna me funciona.

¿Será posible que alguien pueda ayudarme con sus conocimientos?

Saludos muy afectuosos.

Rex.

Code: Select all

#SingleInstance force
#ErrorStdOut
#NoEnv
#Warn
#Persistent

SendMode Input
SetWorkingDir %A_ScriptDir%

RandomSleep(x,y) {
Random, sleeprandom, %x%, %y%
Sleep %sleeprandom%
}

;—————————————————————————————————————————————————————————————————————————————



;	————————	starts  1st	|		3 sets of automated clicks	———————— · ————————
|::

; Registers original cursor position.
MouseGetPos, StartX, StartY
RandomSleep(1000,1500)
;
Loop, 3
{
	MouseClick, left
	RandomSleep(600,1000)
	;	;	;	;
	MouseClick, left
	RandomSleep(600,1000)
;
	MouseMove, 0, 70, 100, R
	RandomSleep(600,1000)
;
	MouseClick, left
	RandomSleep(600,1000)
	;	;	;	;
	MouseClick, left
	RandomSleep(600,1000)
;
	MouseMove, 0, -350, 100, R
	RandomSleep(600,1000)
}
; Moves cursor back to its original position.
MouseMove, StartX, StartY
RandomSleep(50,150)

; Registers original cursor position.
MouseGetPos, StartX, StartY
RandomSleep(50,150)
;
MouseMove, 1912, 110
RandomSleep(50,150)
;
Loop, 21
{
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
RandomSleep(50,150)

MouseMove, 1912, 110
RandomSleep(1000,1500)
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
RandomSleep(50,150)

MouseMove, 0, -3, 100, R
RandomSleep(50,150)
 Return
;	————————	ends 1st	|		3 sets of automated clicks	———————— · ————————


;	————————	starts  2nd	1		5 of 10 automated clicks	———————— · ————————
1::
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
RandomSleep(500,1600)
;
Loop, 5
{
	MouseClick, left
	RandomSleep(600,1000)
	;
	MouseClick, left
	RandomSleep(600,1000)
	;
	MouseMove, 0, -140, 100, R
	RandomSleep(600,1000)
}
MouseMove, 0, 770, 100, R
RandomSleep(500,1600)

Loop, 5
{
	MouseClick, left
	RandomSleep(600,1000)
	;
	MouseClick, left
	RandomSleep(600,1000)
	;
	MouseMove, 0, -140, 100, R
	RandomSleep(600,1000)
}

Sleep, 50

Loop, 21
{
	MouseMove, 1912, 110
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}

Sleep, 50

Loop, 3
{
	MouseMove, 1912, 1068
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50

; Mueve el mouse 18 píxeles hacia abajo:
MouseMove, 0, 18, 100, R
Sleep, 50
 Return
;	————————	ends 2nd	1		5 of 10 automated clicks	———————— · ————————


;	————————	starts  3th	Tab		Moves page 3 clicks up		———————— · ————————
Tab::
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 1
{
	MouseMove, 1912, 1068
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
 Return
;	————————	ends 3th	Tab		Moves page 3 clicks up		———————— · ————————


;	————————	starts  4th	Q		Moves page 22 clicks down	———————— · ————————
q::
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 21
{
	MouseMove, 1912, 110
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
;
 Return
;	————————	ends 4th	Q		Moves page 22 clicks down	———————— · ————————


;	————————	starts  5th	CapsLock	Moves page 2 clicks down	———————— · ————————
CapsLock::
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 1
{
	MouseMove, 1912, 110
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
;
 Return
;	————————	ends 5th	CapsLock	Moves page 2 clicks down	———————— · ————————


;	————————	starts  6th	A		Moves page 8 clicks down	———————— · ————————
a::
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 7
{
	MouseMove, 1912, 110
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
;
 Return
;	————————	ends 6th	A		Moves page 8 clicks down	———————— · ————————


;	————————	starts  7th	W		1 set of automated clicks	———————— · ————————
w::
RandomSleep(900,1900)
;
MouseClick, left
RandomSleep(1400,1900)
;
MouseClick, left
RandomSleep(650,1400)
;
MouseMove, 0, 70, 100, R
RandomSleep(650,1400)
;
MouseClick, left
RandomSleep(900,1400)
;
MouseClick, left
RandomSleep(400,900)
;
MouseMove, 0, -71, 100, R
RandomSleep(400,900)
;
; Registers original cursor position.
MouseGetPos, StartX, StartY
RandomSleep(100,250)
;
Loop, 7
{
	MouseMove, 1912, 110
	RandomSleep(100,250)
	;
	MouseClick, left
	RandomSleep(100,250)
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
RandomSleep(100,250)
 Return
;	————————	ends 7th	W		1 set of automated clicks	———————— · ————————



F5::Reload

Ctrl::Pause

Lepes
Posts: 141
Joined: 06 May 2021, 07:32
Location: Spain

Re: Tooltip adherido al mouse al pausar y des-pausar.  Topic is solved

Post by Lepes » 16 Dec 2021, 22:21

creo esto funciona como quieres. Prueba y me cuentas.

He puesto comentarios para que se entienda, no sé si lo he conseguido jejeje.

Code: Select all

#SingleInstance force
#ErrorStdOut
#NoEnv
#Warn
#Persistent

SendMode Input
SetWorkingDir %A_ScriptDir%

; se necesitan timers  (cronometros) para que el tooltip vaya pegado al raton cuando se mueve.
; Al usar el comando "Pause"  los timers dejan de funcionar, así funciona Autohotkey.
; soluciono el problema creando las teclas por código y desactivandolas cuando quiero que 
; el script esté pausado. Nunca estará pausado como tal, simplemente las teclas 1,Tab,q, etc se desactivan como hotkeys.


;diccionario que tiene todas las teclas usadas y la etiqueta (código que debe ejecutar al pulsar esa tecla)
teclas := {"|":"code_|", "1":"code_1", "Tab":"code_Tab", "q":"code_q", "CapsLock":"code_CapsLock", "a":"code_a", "w":"code_w"}

;por defecto, creamos todas las teclas con su código que debe ejecutar
for tecla, etiqueta in teclas
  hotkey, %tecla%, %etiqueta%


; así controlamos si el script estará pausado o no.
pausado := False

RandomSleep(x,y) {
Random, sleeprandom, %x%, %y%
Sleep %sleeprandom%
}

;—————————————————————————————————————————————————————————————————————————————



;	————————	starts  1st	|		3 sets of automated clicks	———————— · ————————
code_|:
  ; Registers original cursor position.
  MouseGetPos, StartX, StartY
  RandomSleep(1000,1500)
  ;
  Loop, 3
  {
    MouseClick, left
    RandomSleep(600,1000)
    ;	;	;	;
    MouseClick, left
    RandomSleep(600,1000)
  ;
    MouseMove, 0, 70, 100, R
    RandomSleep(600,1000)
  ;
    MouseClick, left
    RandomSleep(600,1000)
    ;	;	;	;
    MouseClick, left
    RandomSleep(600,1000)
  ;
    MouseMove, 0, -350, 100, R
    RandomSleep(600,1000)
  }
  ; Moves cursor back to its original position.
  MouseMove, StartX, StartY
  RandomSleep(50,150)

  ; Registers original cursor position.
  MouseGetPos, StartX, StartY
  RandomSleep(50,150)
  ;
  MouseMove, 1912, 110
  RandomSleep(50,150)
  ;
  Loop, 21
  {
    MouseClick, left
    Sleep, 50
  }
  ;
  ; Moves cursor back to its original position.
  MouseMove, StartX, StartY
  RandomSleep(50,150)

  MouseMove, 1912, 110
  RandomSleep(1000,1500)
  ;
  ; Moves cursor back to its original position.
  MouseMove, StartX, StartY
  RandomSleep(50,150)

  MouseMove, 0, -3, 100, R
  RandomSleep(50,150)
  Return
;	————————	ends 1st	|		3 sets of automated clicks	———————— · ————————


;	————————	starts  2nd	1		5 of 10 automated clicks	———————— · ————————
code_1:
  ; Registers original cursor position.
  MouseGetPos, StartX, StartY
  Sleep, 50
  ;
  RandomSleep(500,1600)
  ;
  Loop, 5
  {
    MouseClick, left
    RandomSleep(600,1000)
    ;
    MouseClick, left
    RandomSleep(600,1000)
    ;
    MouseMove, 0, -140, 100, R
    RandomSleep(600,1000)
  }
  MouseMove, 0, 770, 100, R
  RandomSleep(500,1600)

  Loop, 5
  {
    MouseClick, left
    RandomSleep(600,1000)
    ;
    MouseClick, left
    RandomSleep(600,1000)
    ;
    MouseMove, 0, -140, 100, R
    RandomSleep(600,1000)
  }

  Sleep, 50

  Loop, 21
  {
    MouseMove, 1912, 110
    Sleep, 50
    ;
    MouseClick, left
    Sleep, 50
  }

  Sleep, 50

  Loop, 3
  {
    MouseMove, 1912, 1068
    Sleep, 50
    ;
    MouseClick, left
    Sleep, 50
  }
  ; Moves cursor back to its original position.
  MouseMove, StartX, StartY
  Sleep, 50

  ; Mueve el mouse 18 píxeles hacia abajo:
  MouseMove, 0, 18, 100, R
  Sleep, 50
  Return
;	————————	ends 2nd	1		5 of 10 automated clicks	———————— · ————————


;	————————	starts  3th	Tab		Moves page 3 clicks up		———————— · ————————
code_Tab:
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 1
{
	MouseMove, 1912, 1068
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
 Return
;	————————	ends 3th	Tab		Moves page 3 clicks up		———————— · ————————


;	————————	starts  4th	Q		Moves page 22 clicks down	———————— · ————————
code_q:
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 21
{
	MouseMove, 1912, 110
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
;
 Return
;	————————	ends 4th	Q		Moves page 22 clicks down	———————— · ————————


;	————————	starts  5th	CapsLock	Moves page 2 clicks down	———————— · ————————
code_CapsLock:
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 1
{
	MouseMove, 1912, 110
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
;
 Return
;	————————	ends 5th	CapsLock	Moves page 2 clicks down	———————— · ————————


;	————————	starts  6th	A		Moves page 8 clicks down	———————— · ————————
code_a:
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 7
{
	MouseMove, 1912, 110
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
;
 Return
;	————————	ends 6th	A		Moves page 8 clicks down	———————— · ————————


;	————————	starts  7th	W		1 set of automated clicks	———————— · ————————
code_w:
RandomSleep(900,1900)
;
MouseClick, left
RandomSleep(1400,1900)
;
MouseClick, left
RandomSleep(650,1400)
;
MouseMove, 0, 70, 100, R
RandomSleep(650,1400)
;
MouseClick, left
RandomSleep(900,1400)
;
MouseClick, left
RandomSleep(400,900)
;
MouseMove, 0, -71, 100, R
RandomSleep(400,900)
;
; Registers original cursor position.
MouseGetPos, StartX, StartY
RandomSleep(100,250)
;
Loop, 7
{
	MouseMove, 1912, 110
	RandomSleep(100,250)
	;
	MouseClick, left
	RandomSleep(100,250)
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
RandomSleep(100,250)
 Return
;	————————	ends 7th	W		1 set of automated clicks	———————— · ————————


F5::Reload

Ctrl::
  pausado := !pausado                   ; cambiamos pausado de False a True cada vez que se pulsa Ctrl
  if pausado {                          ; Si pausado está a True, Hay que desactivar todas las teclas
    for tecla, etiqueta in teclas       
      hotkey, %tecla%, ,Off             ; desactivamos todas las teclas rápidas excepto F5 y Ctrl
    setTimer, pausado, 50               ; activamos el timer pausado para que ponga el texto "PAUSADO" que siga al ratón
  }
  else {                                ; Pausado es False, tengo que activar todas las teclas rápidas
    for tecla, etiqueta in teclas
      hotkey, %tecla%, ,On
    setTimer, Ejecucion, 50             ; cada 50 milisegundos ponemos el texto "EN EJECUCION" pegado al ratón
    setTimer, EsperaOcultarse, 3000     ; pasados 3 segundos desde la activación, ocultamos el texto "EN EJECUCION"
  }
  return
  
  
  pausado:
; Cuando el script lo pausemos, cada 50 milisegundos entrará aquí
; para poner el tooltip "PAUSADO" pegado al ratón y que siga al ratón

  MouseGetPos, x, y               ; obtenemos donde está el ratón
  tooltiP, PAUSADO, x+10, y+10    ; le sumamos 10 para que el tooltip no pise la flecha del ratón 
  Return
  
Ejecucion:  
  MouseGetPos, x, y
  tooltiP, EN EJECUCION, x+10, y+10
  setTimer, pausado, Off            ;cuando se retome la ejecución, debe pararse el timer pausado.
  Return
  
  
EsperaOcultarse:
; al quitar la pausa, queremos que se muestre "EN EJECUCIÓN" 
; pero solo durante 3 segundos. Cuando pase esos 3 segundos
; desactivamos los dos timer siguientes y quitamos el tooltip de la pantalla

  settimer, Ejecucion, Off
  settimer, EsperaOcultarse, Off
  Tooltip,  
  Return 

rx65m
Posts: 19
Joined: 16 Mar 2018, 17:29

Re: Tooltip adherido al mouse al pausar y des-pausar.

Post by rx65m » 17 Dec 2021, 01:57

·

¡Hola Lepes!

¡Espectacular! ¡Funciona perfectamente!
¡Y la explicación está clarísima! ¡No se puede pedir más!
Muchísimas gracias, mi hermano.
¡Un trabajo sensacional! :clap:
Te agradezco infinitamente.

Todo marcha de maravilla en las pruebas que he hecho.
Si algo encuentro te lo haré saber, pero sospecho que has sido impecable.
¡Mil gracias!
¡Un abrazo muy afectuoso!

·
Lepes wrote:
16 Dec 2021, 22:21
creo esto funciona como quieres. Prueba y me cuentas.

He puesto comentarios para que se entienda, no sé si lo he conseguido jejeje.

Code: Select all

#SingleInstance force
#ErrorStdOut
#NoEnv
#Warn
#Persistent

SendMode Input
SetWorkingDir %A_ScriptDir%

; se necesitan timers  (cronometros) para que el tooltip vaya pegado al raton cuando se mueve.
; Al usar el comando "Pause"  los timers dejan de funcionar, así funciona Autohotkey.
; soluciono el problema creando las teclas por código y desactivandolas cuando quiero que 
; el script esté pausado. Nunca estará pausado como tal, simplemente las teclas 1,Tab,q, etc se desactivan como hotkeys.


;diccionario que tiene todas las teclas usadas y la etiqueta (código que debe ejecutar al pulsar esa tecla)
teclas := {"|":"code_|", "1":"code_1", "Tab":"code_Tab", "q":"code_q", "CapsLock":"code_CapsLock", "a":"code_a", "w":"code_w"}

;por defecto, creamos todas las teclas con su código que debe ejecutar
for tecla, etiqueta in teclas
  hotkey, %tecla%, %etiqueta%


; así controlamos si el script estará pausado o no.
pausado := False

RandomSleep(x,y) {
Random, sleeprandom, %x%, %y%
Sleep %sleeprandom%
}

;—————————————————————————————————————————————————————————————————————————————



;	————————	starts  1st	|		3 sets of automated clicks	———————— · ————————
code_|:
  ; Registers original cursor position.
  MouseGetPos, StartX, StartY
  RandomSleep(1000,1500)
  ;
  Loop, 3
  {
    MouseClick, left
    RandomSleep(600,1000)
    ;	;	;	;
    MouseClick, left
    RandomSleep(600,1000)
  ;
    MouseMove, 0, 70, 100, R
    RandomSleep(600,1000)
  ;
    MouseClick, left
    RandomSleep(600,1000)
    ;	;	;	;
    MouseClick, left
    RandomSleep(600,1000)
  ;
    MouseMove, 0, -350, 100, R
    RandomSleep(600,1000)
  }
  ; Moves cursor back to its original position.
  MouseMove, StartX, StartY
  RandomSleep(50,150)

  ; Registers original cursor position.
  MouseGetPos, StartX, StartY
  RandomSleep(50,150)
  ;
  MouseMove, 1912, 110
  RandomSleep(50,150)
  ;
  Loop, 21
  {
    MouseClick, left
    Sleep, 50
  }
  ;
  ; Moves cursor back to its original position.
  MouseMove, StartX, StartY
  RandomSleep(50,150)

  MouseMove, 1912, 110
  RandomSleep(1000,1500)
  ;
  ; Moves cursor back to its original position.
  MouseMove, StartX, StartY
  RandomSleep(50,150)

  MouseMove, 0, -3, 100, R
  RandomSleep(50,150)
  Return
;	————————	ends 1st	|		3 sets of automated clicks	———————— · ————————


;	————————	starts  2nd	1		5 of 10 automated clicks	———————— · ————————
code_1:
  ; Registers original cursor position.
  MouseGetPos, StartX, StartY
  Sleep, 50
  ;
  RandomSleep(500,1600)
  ;
  Loop, 5
  {
    MouseClick, left
    RandomSleep(600,1000)
    ;
    MouseClick, left
    RandomSleep(600,1000)
    ;
    MouseMove, 0, -140, 100, R
    RandomSleep(600,1000)
  }
  MouseMove, 0, 770, 100, R
  RandomSleep(500,1600)

  Loop, 5
  {
    MouseClick, left
    RandomSleep(600,1000)
    ;
    MouseClick, left
    RandomSleep(600,1000)
    ;
    MouseMove, 0, -140, 100, R
    RandomSleep(600,1000)
  }

  Sleep, 50

  Loop, 21
  {
    MouseMove, 1912, 110
    Sleep, 50
    ;
    MouseClick, left
    Sleep, 50
  }

  Sleep, 50

  Loop, 3
  {
    MouseMove, 1912, 1068
    Sleep, 50
    ;
    MouseClick, left
    Sleep, 50
  }
  ; Moves cursor back to its original position.
  MouseMove, StartX, StartY
  Sleep, 50

  ; Mueve el mouse 18 píxeles hacia abajo:
  MouseMove, 0, 18, 100, R
  Sleep, 50
  Return
;	————————	ends 2nd	1		5 of 10 automated clicks	———————— · ————————


;	————————	starts  3th	Tab		Moves page 3 clicks up		———————— · ————————
code_Tab:
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 1
{
	MouseMove, 1912, 1068
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
 Return
;	————————	ends 3th	Tab		Moves page 3 clicks up		———————— · ————————


;	————————	starts  4th	Q		Moves page 22 clicks down	———————— · ————————
code_q:
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 21
{
	MouseMove, 1912, 110
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
;
 Return
;	————————	ends 4th	Q		Moves page 22 clicks down	———————— · ————————


;	————————	starts  5th	CapsLock	Moves page 2 clicks down	———————— · ————————
code_CapsLock:
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 1
{
	MouseMove, 1912, 110
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
;
 Return
;	————————	ends 5th	CapsLock	Moves page 2 clicks down	———————— · ————————


;	————————	starts  6th	A		Moves page 8 clicks down	———————— · ————————
code_a:
; Registers original cursor position.
MouseGetPos, StartX, StartY
Sleep, 50
;
Loop, 7
{
	MouseMove, 1912, 110
	Sleep, 50
	;
	MouseClick, left
	Sleep, 50
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
Sleep, 50
;
 Return
;	————————	ends 6th	A		Moves page 8 clicks down	———————— · ————————


;	————————	starts  7th	W		1 set of automated clicks	———————— · ————————
code_w:
RandomSleep(900,1900)
;
MouseClick, left
RandomSleep(1400,1900)
;
MouseClick, left
RandomSleep(650,1400)
;
MouseMove, 0, 70, 100, R
RandomSleep(650,1400)
;
MouseClick, left
RandomSleep(900,1400)
;
MouseClick, left
RandomSleep(400,900)
;
MouseMove, 0, -71, 100, R
RandomSleep(400,900)
;
; Registers original cursor position.
MouseGetPos, StartX, StartY
RandomSleep(100,250)
;
Loop, 7
{
	MouseMove, 1912, 110
	RandomSleep(100,250)
	;
	MouseClick, left
	RandomSleep(100,250)
}
;
; Moves cursor back to its original position.
MouseMove, StartX, StartY
RandomSleep(100,250)
 Return
;	————————	ends 7th	W		1 set of automated clicks	———————— · ————————


F5::Reload

Ctrl::
  pausado := !pausado                   ; cambiamos pausado de False a True cada vez que se pulsa Ctrl
  if pausado {                          ; Si pausado está a True, Hay que desactivar todas las teclas
    for tecla, etiqueta in teclas       
      hotkey, %tecla%, ,Off             ; desactivamos todas las teclas rápidas excepto F5 y Ctrl
    setTimer, pausado, 50               ; activamos el timer pausado para que ponga el texto "PAUSADO" que siga al ratón
  }
  else {                                ; Pausado es False, tengo que activar todas las teclas rápidas
    for tecla, etiqueta in teclas
      hotkey, %tecla%, ,On
    setTimer, Ejecucion, 50             ; cada 50 milisegundos ponemos el texto "EN EJECUCION" pegado al ratón
    setTimer, EsperaOcultarse, 3000     ; pasados 3 segundos desde la activación, ocultamos el texto "EN EJECUCION"
  }
  return
  
  
  pausado:
; Cuando el script lo pausemos, cada 50 milisegundos entrará aquí
; para poner el tooltip "PAUSADO" pegado al ratón y que siga al ratón

  MouseGetPos, x, y               ; obtenemos donde está el ratón
  tooltiP, PAUSADO, x+10, y+10    ; le sumamos 10 para que el tooltip no pise la flecha del ratón 
  Return
  
Ejecucion:  
  MouseGetPos, x, y
  tooltiP, EN EJECUCION, x+10, y+10
  setTimer, pausado, Off            ;cuando se retome la ejecución, debe pararse el timer pausado.
  Return
  
  
EsperaOcultarse:
; al quitar la pausa, queremos que se muestre "EN EJECUCIÓN" 
; pero solo durante 3 segundos. Cuando pase esos 3 segundos
; desactivamos los dos timer siguientes y quitamos el tooltip de la pantalla

  settimer, Ejecucion, Off
  settimer, EsperaOcultarse, Off
  Tooltip,  
  Return 

Post Reply

Return to “Pedir Ayuda”