Header Ads

Como escrever um script AutoHotkey

O AutoHotkey é um software fantástico, mas complicado. Ele foi inicialmente destinado a religar hotkeys personalizados para ações diferentes, mas agora é um conjunto completo de automação do Windows.

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

Instalando e usando o AutoHotkey

O processo de instalação do AutoHotkey é simples. 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 do mouse em qualquer lugar e selecionar Novo > AutoHotkey Script para criar um novo script.

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

  • “Executar script” carregará seu script com o tempo de execução do AHK.
  • “Compile Script” agrupe-o com um executável AHK para criar um arquivo EXE que possa ser executado.
  • “Editar script” abrirá seu script no editor de texto padrão. Você pode usar o Bloco de Notas para escrever scripts do AHK, mas recomendamos o uso do SciTE4AutoHotkey, um editor do AHK que suporta realce e depuração de sintaxe.

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

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

Como o AutoHotkey funciona?

Em seu núcleo, o AHK faz uma coisa: vincular 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 operarão no mesmo princípio. Veja um script AHK básico que inicia o Google Chrome sempre que você pressiona Windows + C:

 #c :: Executar retorno do Chrome 

A primeira linha define uma tecla de atalho. O sinal de libra (#) é curto para a chave do Windows e c é a tecla C no 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 comando Executar. O bloco termina com um retorno no final. Você pode ter qualquer número de ações antes do retorno. Todos serão acionados sequencialmente.

Assim, você definiu um mapeamento simples de chave de ação. Você pode colocar quantos deles quiser em um arquivo .ahk 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 do AHK na documentação oficial, mas vamos nos concentrar nos recursos mais úteis (e legais).

Todas as teclas modificadoras possuem atalhos de caractere único. Por exemplo, # ! ^ + são Windows, Alt, Control e Shift, respectivamente. Você também pode diferenciar entre Alt e Control esquerda e direita, e Shift com os botões < e > modificadores, o que abre muito espaço para hotkeys extras. Por exemplo, & lt ;! é deixado Alt e > + está à direita Shift. Dê uma olhada na lista de chaves para tudo que você pode referenciar. (Spoiler: Você pode fazer referência a quase todas as chaves. Você pode até referenciar outros dispositivos de entrada sem teclado com uma pequena extensão).

Você pode combinar quantas teclas quiser em uma tecla de atalho, mas você logo ficará sem combinações de teclas para lembrar. É onde entram modificadores, que permitem fazer coisas mais loucas. Vamos quebrar um exemplo da documentação do AHK:

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

A diretiva aqui está verificando se janela específica está aberta, definida pelo bloco de notas ahk_class. Quando o AHK recebe a entrada "Win + C", ele acionará a ação sob o primeiro #IfWinActive apenas se a diretiva retornar verdadeiro e, em seguida, verificar o segundo caso contrário. O AHK tem muitas diretivas e você pode encontrar todas elas nos documentos.

O AutoHotkey também possui hotstrings, que funcionam como teclas de atalho, exceto a substituição de toda uma cadeia de texto. Isso é semelhante a como a correção automática funciona - na verdade, há um script de autocorreção para o AHK - mas suporta qualquer ação do AHK.

A cadeia de caracteres corresponderá à cadeia somente se for digitada exatamente . Ele também removerá automaticamente o texto correspondente para substituir a hotstring, embora esse comportamento possa ser ajustado.

Ações

Uma ação no AHK é qualquer coisa que tenha um efeito externo na operação sistema. AHK tem muitas ações. Não é possível explicar todos eles, então vamos escolher alguns úteis.

  • Enviando entrada, seja texto ou vários pressionamentos de botão.
  • Movendo o botão mouse ao redor. Na verdade, o AHK é às vezes erroneamente sinalizado como um software de trapaça para videogames, já que as pessoas criaram aimbots totalmente funcionais com ele.
  • Clicando com o mouse, posicionando-se em relação à janela atual.
  • Exibir menus de diálogo, com formulários e campos de entrada.
  • Movendo janelas, ajustando o tamanho, abrindo e fechando.
  • Reproduzindo música.
  • Escrevendo para o Registro do Windows. Sim, realmente.
  • Modificando o conteúdo da Área de Transferência.
  • Lendo e escrevendo arquivos. Você pode percorrer os arquivos e executar ações em cada linha. O AHK pode até escrever em arquivos .ahk e ajustar seu próprio código.

A maioria dessas ações também terá comandos orientados a informações associadas a eles. 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.

Vinculando Tudo às Estruturas de Controle

]

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

Além das diretivas #If, você também tem acesso a Se dentro de blocos de ação . O AHK tem loops For, blocos de chaves, instruções Try and Catch e muitos outros. Você pode acessar dados externos de dentro do bloco de ação e armazená-los em variáveis ​​ou objetos para usar posteriormente. Você pode definir funções e rótulos personalizados. Realmente, qualquer coisa que você poderia fazer facilmente em outra linguagem de programação que você provavelmente pode fazer no AHK com um pouco de dor de cabeça e uma olhada nos documentos. Por exemplo, imagine que você tem uma tarefa chata e repetitiva que requer você clicar em vários botões em uma linha e esperar que um servidor responda antes de repeti-lo ad infinitum. Você pode usar o AHK para automatizar isso. Você deseja definir alguns loops para mover o mouse para locais específicos, clicar e depois passar para o próximo ponto e clicar novamente. Coloque algumas instruções de espera para não quebrar. Você pode até tentar ler a cor dos pixels na tela para determinar o que está acontecendo.

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

Via: How to Geek

Nenhum comentário