Como escrever um script AutoHotkey

autohotkey
AutoHotkey

AutoHotkey é um software fantástico, mas complicado. A intenção inicial era religar teclas de atalho personalizadas para ações diferentes, mas agora é um pacote de automação completo do Windows.

AHK não é particularmente difícil de aprender para novos usuários, pois o conceito geral é bastante simples, mas é uma linguagem de programação completa de Turing. Você aprenderá a sintaxe com muito mais facilidade se tiver experiência em programação ou estiver familiarizado com os conceitos.

Instalando e usando AutoHotkey

O processo de instalação do AutoHotkey é direto. Baixe o instalador do site oficial e execute-o. Escolha “Instalação Expressa”. Depois de instalar o software, você pode clicar com o botão direito em qualquer lugar e selecionar Novo> Script AutoHotkey para fazer um novo script.

novo script autohotkey

Os scripts AHK são arquivos de texto com uma .ahk extensão. Se você clicar com o botão direito neles, terá algumas opções:

  • “Run Script” carregará seu script com o tempo de execução AHK.
  • “Compile Script” irá agrupá-lo com um executável AHK para criar um arquivo EXE que você possa executar.
  • “Editar Script” abrirá seu script em seu editor de texto padrão. Você pode usar o Bloco de notas para escrever scripts AHK, mas recomendamos o uso de SciTE4AutoHotkey , um editor para AHK que oferece suporte a realce de sintaxe e depuração.

compilar script autohotkey

Enquanto um script está sendo executado – seja um EXE ou não – você o encontrará em execução em segundo plano na área de notificação do Windows, também conhecida como bandeja do sistema. Procure o ícone verde com um “H” nele.

Para sair, pausar, recarregar ou editar um script, clique com o botão direito no ícone de notificação e selecione uma opção apropriada. Os scripts continuarão sendo executados em segundo plano até que você saia deles. Eles também desaparecerão quando você sair do Windows ou reiniciar o PC, é claro.

Recomendado:  Como compartilhar sua localização no Android

script autohotkey em execução

Como funciona o AutoHotkey?

Basicamente, o AHK faz uma coisa – vincula ações a teclas de atalho. Existem muitas ações diferentes, combinações de teclas de atalho e estruturas de controle, mas todos os scripts funcionarão no mesmo princípio. Este é um script AHK básico que inicia o Google Chrome sempre que você pressiona Windows + C:

#c ::
Execute o Chrome
Retorna

A primeira linha define uma tecla de atalho. O sinal de sustenido (#) é a abreviação da tecla do Windows e c é a tecla C do teclado. Depois disso, há dois pontos duplos (: 🙂 para indicar o início de um bloco de ação.

A próxima linha é uma ação. Nesse caso, a ação inicia um aplicativo com o Run comando. O bloco é finalizado com um return no final. Você pode ter qualquer número de ações antes de return. Todos eles vão disparar sequencialmente.

Assim, você definiu um mapeamento simples de tecla-para-ação. Você pode colocar quantos deles quiser em um .ahk arquivo e configurá-lo para ser executado em segundo plano, sempre procurando por teclas de atalho para remapear.

Teclas de atalho e modificadores

Você pode encontrar uma lista completa dos modificadores de AHK na documentação oficial , mas vamos nos concentrar nos recursos mais úteis (e interessantes).

Todas as teclas modificadoras têm atalhos de um único caractere. Por exemplo, # ! ^ +são Windows, Alt, Control e Shift, respectivamente. Você também pode diferenciar entre Alt esquerdo e direito, Control e Shift com os modificadores <e >, o que abre muito espaço para teclas de atalho extras. Por exemplo, <! é Alt esquerdo e> + é Shift direito. Dê uma olhada na  lista principal para tudo o que você pode consultar. (Spoiler: você pode fazer referência a quase todas as teclas. Você pode até mesmo fazer referência a outros dispositivos de entrada que não sejam do teclado com uma pequena extensão ).

Você pode combinar quantas teclas desejar em uma tecla de atalho, mas logo ficará sem combinações de teclas para lembrar. É aqui que entram os modificadores, que permitem que você faça coisas mais malucas. Vamos analisar um exemplo dos documentos AHK :

Recomendado:  Onde está a lanterna no iPhone?

diretivas autohotkey

O verde #IfWinActiveé chamado de  diretiva e aplica contexto adicional às teclas de atalho fisicamente abaixo dele no script. Qualquer tecla de atalho após ela será acionada apenas se a condição for verdadeira e você pode agrupar várias teclas de atalho em uma diretiva. Esta diretiva não mudará até que você acerte outra diretiva, mas você pode redefini-la com um espaço em branco #If(e se isso parecer um hack, bem-vindo ao AHK).

A diretiva aqui é verificar se uma janela específica está aberta, definida por ahk_class Notepad. Quando AHK recebe a entrada “Win ​​+ C,” ele irá disparar a ação sob a primeira #IfWinActive somente se a diretiva retornar true, e então verificará a segunda se não retornar. O AHK tem muitas diretivas e você pode encontrar todas elas nos documentos .

AutoHotkey também possui hotstrings , que funcionam como hotkeys, exceto para substituir uma string inteira de texto. Isso é semelhante ao funcionamento da autocorreção – na verdade, há um script de autocorreção para AHK – mas oferece suporte a qualquer ação AHK.

hotstrings autohotkey

O hotstring corresponderá à string apenas se for digitada exatamente. Ele removerá automaticamente o texto correspondente para substituir o hotstring também, embora esse comportamento possa ser ajustado.

Ações

Uma ação em AHK é qualquer coisa que tenha um efeito externo no sistema operacional. AHK tem muitas ações. Não podemos explicar todos eles, então escolheremos alguns úteis.

  • Enviando entrada , seja texto ou vários pressionamentos de botão.
  • Movendo o mouse . Na verdade, o AHK às vezes é erroneamente sinalizado como software de trapaça para videogames, já que as pessoas criaram aimbots totalmente funcionais com ele.
  • Clicar com o mouse , com posicionamento em relação à janela atual.
  • Exibindo menus de diálogo , completos com formulários e campos de entrada.
  • Movendo as janelas , ajustando o tamanho e abrindo e fechando.
  • Tocando música .
  • Escrevendo no Registro do Windows . Sim, realmente.
  • Modificando o conteúdo da área de transferência .
  • Ler e escrever arquivos . Você pode percorrer arquivos e executar ações em cada linha. O AHK pode até mesmo gravar em .ahk arquivos e ajustar seu próprio código.
Recomendado:  O que é software de código aberto e por que isso é importante?

A maioria dessas ações também terá comandos orientados a informações associados a elas. Por exemplo, você pode gravar na área de transferência, mas também pode obter o conteúdo da área de transferência para armazenar em uma variável e executar funções quando a área de transferência for alterada.

Amarrando tudo com estruturas de controle

AHK não seria o que é sem todas as estruturas de controle que o tornam completo de Turing .

Além das #Ifdiretivas, você também tem acesso ao If interior dos blocos de ação. AHK tem For loops, blocos de chavesTry  e Catchinstruções e muitos outros. Você pode acessar dados externos de dentro do bloco de ação e armazená-los em variáveis  ou objetos  para uso posterior. Você pode definir funções  e rótulos personalizados . Na verdade, qualquer coisa que você possa fazer facilmente em outra linguagem de programação, você provavelmente pode fazer em AHK com um pouco de dor de cabeça e dar uma olhada nos documentos.

Por exemplo, imagine que você tem uma tarefa tediosa e repetitiva que exige que você clique em vários botões em sequência e aguarde a resposta de um servidor antes de fazer tudo de novo ad infinitum. Você pode usar AHK para automatizar isso. Você gostaria de definir alguns loops para mover o mouse para locais específicos, clicar e então mover para o próximo local e clicar novamente. Adicione algumas declarações de espera para impedir que ele se quebre. Você pode até tentar ler a cor dos pixels na tela para determinar o que está acontecendo.

Uma coisa é certa – seu script provavelmente não será bonito. Mas também não é AutoHotkey, e tudo bem.