AutoHotkey é uma linguagem de scripting para o Windows que nos permite criar novos atalhos para o teclado. Esses atalhos são capazes de executar uma variedade de ações: executar programas, maximizar e minimizar janelas, editar o registro, obter dados do sistema operacional etc. Quando combinado com o PowerShell, é possível realizar praticamente qualquer ação com o apertar de poucas teclas.
O AutoHotkey mostre seu valor, mesmo que não precisemos escrever scripts complexos— com poucas linhas de código, conseguimos criar atalhos que nos poupam diversas “tecladas” e “clicadas” ao longo de um dia.
Após instalar o AutoHotkey, basta criarmos um arquivo com extensão .ahk, usando qualquer editor de texto, como VS Code, Notepad++ ou mesmo o Bloco de Notas, para escrever nosso script. Quando executamos este arquivo (clicando duas vezes nele ou apertando Enter enquanto o arquivo está selecionado), o AutoHotkey lerá seu conteúdo e aguardará receber as combinações de teclas definidas nele. Você pode ver que o AutoHotkey está ativo pelo ícone que aparecerá na barra de tarefas.
Abrindo a Calculadora
Um mesmo script do AutoHotkey pode definir vários atalhos. Cada atalho possui uma linha que descreve a combinação de teclas que dispara a execução de um bloco de código e uma linha com a palavra-chave return, que dispara a execução do script. Como primeiro exemplo, podemos escrever um script que abre a calculadora:
#c::
Run, calc.exe
return
A primeira linha indica que precisamos pressionar a tecla “C”, enquanto seguramos a tecla do Windows (⊞ Win), para disparar o script. Note que a tecla do Windows é representada pelo “#” e que os “::” separam o atalho do resto código, que será executado quando o script for disparado. A segunda linha possui a função Run, que é a responsável por executar o programa, seguida do argumento dela, calc.exe, que é o comando para abrir a calculadora. Observação: como a calculadora é nativa do Windows, não precisamos escrever o caminho completo para o executável. A vírgula que separa a função do AutoHotkey dos seus argumentos pode ser omitida. A linha com o “return” para a execução do script pode ser omitida, caso não existam outros atalhos declarados no mesmo arquivo. O script acima pode, então, ser escrito em apenas uma linha:
#c::Run calc.exe
Também podemos usar mais de uma tecla especial para disparar o script, bastando fazer a seguinte modificação:
^!c::Run calc.exe
Desta vez, os símbolos “^” e “!” representam as teclas Ctrl e Alt, respectivamente. Ou seja, agora disparamos o script apertando “c” enquanto mantemos pressionadas Ctrl e Alt simultaneamente.
Simulando Digitação
Outra funcionalidade útil do AutoHotkey é a de simular digitação no teclado e cliques no mouse. Como exemplo, podemos escrever um script que digita um endereço de e-mail, ao ser disparado:
^!e::
SendInput, renan{@}email.com
return
Letras e números podem ser usados normalmente como argumento da função SendInput, mas caracteres especiais, como “@”, “!” e “#”, por exemplo, precisam estar entre chaves.
Podemos usar quaisquer teclas existentes no nosso teclado, até mesmo teclas como “Enter”, “Tab” e “←”:
^!o::
SendInput, Ok, , aguardo resposta{!}{Left 19}
return
Neste exemplo, após a digitação de “Ok, , aguardo resposta!”, a “←” é simulada dezenove vezes, de forma que o cursor fica posicionado logo antes da segunda vírgula, onde podemos inserir o nome da pessoa. Note que para digitar uma tecla múltiplas vezes, basta colocamos o número de repetições após o nome da tecla, tudo entre chaves.
Redimensionando uma Janela
Mudar o tamanho de uma janela é uma tarefa mais complexa, pois é preciso que haja uma forma de identificar a janela a qual queremos alterar. O AutoHotkey provê várias funções capazes de manipular e obter informações sobre uma janela específica. Servindo de exemplo, o código seguinte redimensiona uma janela para um tamanho específico, quando o script é disparado. Nele são usadas variáveis e uma estrutura de controle if:
#r::
WinGetActiveTitle, TitleWinGetPos, ,, Width, Height, %Title%,,,
if (Width != 1280 or Height != 960) {
WinMove, %Title%,,,,1280,960
}
return
Na primeira linha, a função WinGetActiveTitle armazena o título da janela ativa na variável de nome Title. Na linha seguinte, WinGetPos guarda a largura e altura da janela nas variáveis Width e Height, respectivamente. Fazemos isto usandos o valor que estava guardado na variável Title pondo ela entre dois “%”. Na terceira linha, Width e Height são testadas e caso qualquer uma delas for diferente da medida especificada, será executado o corpo do if. Finalmente, na quarta linha, a função WinMove altera a largura e altura da janela.
O AutoHotkey é uma ótima ferramenta para automatizar qualquer tarefa no PC, graças à riqueza de funcionalidades embutidas na linguagem, além de ser gratuita e open-source. O site possui uma documentação excelente sobre todas capacidades da linguagem.