10Aug
Alguma vez você já precisou executar a mesma tarefa sem mente repetidamente em seu PC?Em vez de perder horas ao clicar em botões e bater teclas, este é o momento perfeito para usar suas habilidades AutoHotkey para fazer seu PC fazer o trabalho para você.
Nota: Este exemplo particular é um real que usei anteriormente hoje para salvar uma pequena quantidade de tempo, mas essas são técnicas que eu usei muitas vezes ao longo dos anos para me salvar literalmente dias de tempo.
O cenário
Eu estava tentando passar e limpar um monte de mensagens de transmissão incorretas em nossa conta de boletim de e-mail, quando percebi que sua interface me obrigava a clicar manualmente no botão Excluir e, em seguida, confirmá-lo em cada mensagem -está falando sobre 300 mensagens incorretas que precisavam ser excluídas. Para piorar as coisas, a interface é extremamente lenta, o que significa que eu teria gasto um bom 30-40 minutos, clicando e tornando o meu túnel do carpo ainda pior.
Em vez de fazer isso, criei um novo script AutoHotkey e rapidamente escrevi um script para fazer o trabalho para mim.
O primeiro passo foi identificar exatamente quais cliques e chaves que eu precisava para automatizar - obviamente, o primeiro passo é clicar no botão X, que traz esta caixa de diálogo de confirmação Ajax:
Felizmente, o botão Excluir é destacado automaticamente, então você pode simplesmentepressione a tecla Espaço para confirmar. Uma vez que o registro foi excluído, tudo desliza como se a linha nunca estivesse lá.Sabendo disso, avançaremos e criamos um script que automatiza clicando no botão X, aguardando 3 segundos para a caixa de diálogo de confirmação, pressiona a barra de espaço e aguarda mais 3 segundos para que a linha desapareça.
Criando o Script
A primeira coisa que queremos fazer é criar um loop que repita as mesmas ações um número de vezes - neste caso, estamos estimando que precisamos repetir isso 300 vezes, então nós'Usarei a sintaxe de Loop como esta:
Loop 300
{
}
Agora, precisaremos automatizar a ação de clique, que é fácil em AutoHotkey; basta digitar , clique em .Você pode usar uma sintaxe de clique mais avançada se quiser, escolhendo exatamente onde deseja que ele clique na tela ou escolhendo o botão clicar. Para nossos propósitos, usaremos o padrão, o que nos deixa com isso:
Loop 300
{
clique em
}
Agora, nosso script clicará 300 vezes seguidas, mas infelizmente temos esse diálogo de confirmação paralidar com, então, agora usaremos a função Enviar para enviar a tecla de barra espaciadora para a janela ativa.
Loop 300
{
clique em
Enviar,{ Espaço}
}
Se você olhar para a documentação, você verá toda a sintaxe para teclas especiais - as teclas regulares podem ser inseridas normalmente - por exemplo, se você quisesse digitar teste e depois termine com um Espaço, você usaria isso:
Enviar, teste{ Espaço}
Então, agora temos um script que clica no botão e, em seguida, atinge a barra de Espaço, o que ficaria bem exceto a interfaceé lento, então precisamos inserir uma pequena pausa entre cada execução do clique e enviar funções. Para realizar isso, usaremos a função Sleep, que leva apenas um argumento - o atraso em milissegundos.
Loop 300
{
sleep 3000
clique em
sleep 3000
Envie,{ Space}
}
Agora temos um script que eliminará os itens com sucesso, aguardando 3 segundos antes do início, para que você possa mover o cursor do mouseao longo do primeiro X, clicando no botão, aguardando 3 segundos, atingindo a barra espaciadora e aguardando 3 segundos antes de passar pelo próximo conjunto. Você poderia usar esse script simples agora mesmo se quisesse, mas e se você quiser interromper o script?
O que faremos é usar a função GetKeyState para verificar se você bateu um determinado teste de chave, usaremos a tecla F8 e adicionaremos o seguinte no meio do loop. Isso irá detectar se a tecla F8 foi pressionada e, em seguida, use a quebra para sair do loop.
GetKeyState, estado, F8
se estado = D
quebra
O script final
Aqui está o script final, todos juntos, o que provavelmente não o ajudará muito, pois é específico para o meu cenário, mas você pode usá-lo para criar seupróprios scripts, simplesmente modificando os cliques e o envio de teclas.
Loop 300
{
GetKeyState, estado, F8
se estado = D
quebra
sleep 3000
clique
sleep 3000
Enviar,{ Space}
}
Retorna
Para ilustrar como isso funciona na prática, aqui está um vídeo rápido quemostra isso em ação:
Neste cenário particular, demorou cerca de 3 minutos para jogar juntos um tempo de script de trabalho economizado: 27 minutos. Apenas tempo suficiente para eu gravar o vídeo e escrever este artigo!