Ajuda para ativar script

Tire suas dúvidas sobre programação em AutoHotkey
Eduu
Posts: 3
Joined: 07 Mar 2018, 00:38

Ajuda para ativar script

07 Mar 2018, 00:48

Galera, por acaso eu consigo ativar um script através de um botão do mouse ao invés de uma tecla?
Se sim, qual seria o comando?
User avatar
Gio
Posts: 503
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Ajuda para ativar script

07 Mar 2018, 15:09

Boa tarde Eduu.

Seja bem-vindo ao fórum do AutoHotkey.

Sim, isso é possível. Tudo que precisa fazer é indicar um dos botões do mouse para ativar a hotkey. Você pode encontrar os nomes dos botões para usar nas hotkeys aqui. No entanto, é preciso ter em mente que o mouse é utilizado para tantas coisas no windows que colocar um botão dele como hotkey pode dificultar bastante o uso da máquina.

Abaixo segue um exemplo de script com hotkeys chamadas a partir de botões do mouse. Se desejar, você ainda pode usar o modificador ~ antes do nome do botão na hotkey para que a ação normal do botão não seja bloqueada.

Por comodidade e por ser um exemplo, fiz com que o script abaixo possa ser terminado teclando F2 no teclado.

Code: Select all

wheelup::
msgbox % "roda do mouse girada para cima"
Return

wheeldown::
msgbox  % "roda do mouse girada para baixo"

LButton::
msgbox % "Botao esquerdo do mouse pressionado"
Return

Rbutton::
msgbox % "botao direito do mouse pressionado"
Return

f2::
exitapp
Return
Qualquer dúvida sinta-se à vontade para perguntar.
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Eduu
Posts: 3
Joined: 07 Mar 2018, 00:38

Re: Ajuda para ativar script

07 Mar 2018, 23:50

Gio, muito obrigado! Foi de grande ajuda.
Vê se consegue me ajudar com mais uma coisa se não for incomodo.
Consigo simplificar este script:

CapsLock::
Send {PgUp}
sleep 80
Send {F4}
sleep 100
Send {F5}
E assim por diante.. Coloquei somente uma parte.

Quero colocar uma série de ações ao pressionar a tecla Caps, porém, quando chega no f5 em diante, o comando já não funciona mesmo aumentado o tempo do (sleep). Tem algo que eu possa fazer?
User avatar
Gio
Posts: 503
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Ajuda para ativar script

09 Mar 2018, 17:21

Boa tarde Eduu.

Em relação ao envio de vários comandos de teclas virtuais (sequências longas) para automação de um programa, é relativamente comum que as primeiras tentativas de programar a rotina sejam infrutíferas. Isso ocorre porque programas podem ignorar envios de sinais de teclas em alguns casos. Será necesário então descobrir o caso específico e contorná-lo de alguma forma. Uma das tentativas que você pode fazer é exatamente o que você tentou: alguns programas exigem um tempo mínimo entre uma tecla e outra, e você pode ter que emular isso com o comando Sleep.

O comando Sleep funciona através da designação de um tempo de espera entre um comando e outro. O tempo indicado será contado em milisegundos (milésimos de segundos), portanto para fazer que o programa espere 1 segundo, deve-se indiciar o número 1000.

Sleep, 1000

Indicar um número menor significa que a pausa será apenas de uma fração de segundo. Dessa forma, você pode tentar aumentar o Sleep para 1000, 2000 ou até 3000, somente para ver se de fato a pausa maior funciona.

Mas se não funcionar, pode ser que outra situação esteja interferindo no comando. Uma possibilidade é que o comando F5 esteja sendo capturado por outro programa. Por exemplo, se você tiver um script com uma hotkey F5, ele pode bloquear o envio de um comando F5 para a janela ativa. Nesse caso, pode ser necessário resolver a condição que esteja bloqueando o envio antes (como finalizar o script com a hotkey F5).

Outra situação parecida é um programa onde o F4 abre um menu. Alguns programas podem ignorar teclas pressionadas quando um menu ou janela está aberto. Nesse caso, será preciso programar o fechamento da janela ou menu antes do envio do F5.

Enfim, trata-se de um trabalho investigativo, com muitas possibilidades de solução para muitos problemas diferentes. Mas se o programa está aceitando todas as teclas, exceto o F5, isto é um sinal de que deve ser possível resolver de alguma forma. Uma outra opção para verificar se o F5 não está sendo ignorado somente em determinados casos é programar uma hotkey (tipo Windows+Z) com o Send {F5} e chamá-la em vários momentos da execução do programa, tentando descobrir em que momentos o programa aceita o {F5} e em que momentos ele o ignora.

Code: Select all

#z::Send {F5}
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Eduu
Posts: 3
Joined: 07 Mar 2018, 00:38

Re: Ajuda para ativar script

09 Mar 2018, 23:40

Showw de bola Gio!
Consegui arrumar, era um conflito na tecla f5 mesmo. Havia outro programa com atalho usando f5.
Engraçado que não executava f5 e comprometia o resto do script todo. :)
Queria aprender mais a utilizar o AutoHK, porém, sou meio fraco em inglês e o tutorial em PT é bem antigo.

Agradeço bastante pela ajuda!
User avatar
Gio
Posts: 503
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Ajuda para ativar script

10 Mar 2018, 08:14

Que bom que resolveu Eduu :thumbup:

Sobre o tutorial, já temos uma versão em português do tutorial atual, além de uma versão em português do tutorial antigo. Você pode encontrar os links para ambas as versões aqui:

https://autohotkey.com/boards/viewtopic ... 71&t=40117

(No caso do tutorial atual, basta baixar o arquivo .htm do link e abrir no seu browser de preferência, que pode ser firefox, chorme, internet explorer, etc).

Além disso, não se esqueça que temos esta parte do fórum em português e você pode tirar quaisquer dúvidas que tiver aqui mesmo.
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 2 guests