a cada "x" enviar? Topic is solved

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

Nauany
Posts: 58
Joined: 12 Dec 2016, 01:37

a cada "x" enviar?

27 Mar 2018, 11:23

Olá boa tarde, gostaria de fazer um script em uma checkbox que a cada 2 minutos enviasse uma hotkey escolhida
eu tentei mais ou menos assim mas n funcionou:

Code: Select all

#SingleInstance Force

GuiW := 460, GuiH := 400
Gui, +LastFound +Resize +MinSize%GuiW%x%GuiH%
hGui1 := WinExist()
Gui, Margin, 10, 10

tabs:=1


gui, Add,Tab2,vTab TCS_BUTTONS	0x100,Aba1



gui, Tab,Aba1
;----------------------------------------------------
Gui, Add, Hotkey, x30 y45 h20 w50 vvariable1
Gui, Add, Checkbox, x130 y45 h20 w50 vmsg gmsgin, % "On/Off"
;----------------------------------------------------

gui, show, h220
return

;-----------------------------------------------


#If (msg)
  {
    Send %variable1%
    Sleep, 8000
  }
#If
Return

msgin:
Gui Submit, NoHide
  if(msg) 
  {
    MsgBox ,48 , , Msg automáticas ativadas, 10.

  }
  else
  {
    SetTimer, , Off
    MsgBox ,48 , , Msg automáticas desativadas, 10.
  }
  Return
;-----------------------------------------------
guiclose:
exit:
 {
   exitapp
 }
return

acho que a idiea era mais ou menos isso, quando checkbox estivesse ativa, ele enviaria a hotkey fornecida na variavel
User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: a cada "x" enviar?  Topic is solved

27 Mar 2018, 13:52

Nauany wrote:acho que a idiea era mais ou menos isso, quando checkbox estivesse ativa, ele enviaria a hotkey fornecida na variavel
Boa tarde Nauany.

Faltaram algumas linhas para fazer o seu script funcionar. Eu adicionei elas com comentários para você ver melhor. Se você colocar uma hotkey tipo H ou J ou L, ou qualquer outra letra, e ativar o checkbox e depois abrir o bloco de notas e deixar o cursor ativo para escrever, verá que de 10 em 10 segundos ele escreve aquela hotkey. Se você desativar o checkbox e voltar para o bloco de notas, verá que ele para de escrever.

Code: Select all

#SingleInstance Force

GuiW := 460, GuiH := 400
Gui, +LastFound +Resize +MinSize%GuiW%x%GuiH%
hGui1 := WinExist()
Gui, Margin, 10, 10

tabs:=1


gui, Add,Tab2,vTab TCS_BUTTONS	0x100,Aba1



gui, Tab,Aba1
;----------------------------------------------------
Gui, Add, Hotkey, x30 y45 h20 w50 vvariable1
Gui, Add, Checkbox, x130 y45 h20 w50 vmsg gmsgin, % "On/Off"
;----------------------------------------------------

gui, show, h220
return

;-----------------------------------------------
Enviar_Mensagens: ; Esta linha transforma o código abaixo dela em uma Label, que pode ser chamada com um timer (ou seja, a cada x milisegundos)
#If (msg)
  {
    Send %variable1%
  }
#If
Return

msgin:
Gui Submit, NoHide
  if(msg) 
  {
	SetTimer, Enviar_Mensagens, 10000 ; Esta linha precisa ser colocada para ativar a label Enviar_Mensagens junto com o Timer de 10 segundos (você pode aumentar o tempo). 
    MsgBox ,48 , , Msg automáticas ativadas, 10.
  }
  else
  {
    SetTimer, Enviar_Mensagens, Off ; A linha de desligar o timer também tem que receber o nome da label cujo timer será desligado (Enviar_Mensagens).
    MsgBox ,48 , , Msg automáticas desativadas, 10.
  }
  Return
;-----------------------------------------------
guiclose:
exit:
 {
   exitapp
 }
return
Para fazer escrever a cada 2 minutos, basta aumentar o tempo de 10000 milisegundos (que dá 10 segundos) para 120000 milisegundos (ou seja, 120 segundos).

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 18 guests