Como poupar tempo ao automatizar tarefas tediosas com AutoHotkey

Publicado: setembro 8, 2010 em Ambiente de Trabalho

Alguma vez necessários para executar a mesma tarefa mindless mais e mais em seu PC? Em vez de perder horas clicando em botões e teclas de bater, este é o momento perfeito para usar suas habilidades AutoHotkey faça o seu PC fazer o trabalho para você.

Nota: Este exemplo particular é um real que eu usei hoje cedo para guardar um pouco de tempo, mas estas são as técnicas que eu usei muitas vezes ao longo dos anos, literalmente me salvar dias de tempo.

O Cenário

Eu estava tentando passar e limpar um monte de mensagens de difusão errada em nossa newsletter conta de e-mail, quando percebi que a sua interface necessária para me manualmente, clique no botão Excluir e depois confirmá-lo em cada mensagem só falar-estamos a cerca de 300 mensagens incorretas que precisava ser suprimida. Para piorar a situação, a interface é extremamente lento, que significa que eu teria gasto uma boa 30-40 minutos só clicar e fazer o meu túnel do carpo ainda pior.image[11]

Em vez de fazer isso, eu criei um script AutoHotkey novo e rapidamente escreveu um script para fazer o trabalho para mim.

O primeiro passo foi identificar exactamente quais os cliques e as chaves que eu precisava para automatizar, obviamente o primeiro passo é clicar no botão X, que traz essa caixa de diálogo de confirmação Ajax:

image[13]

Felizmente a tecla Delete é realçado automaticamente, assim que você pode simplesmente aperte a tecla espaço para confirmar. Uma vez que o registro foi excluído, slides tudo para cima como se a linha não estava lá. Sabendo disso, vamos seguir em frente e criar um script que automatiza clicar no botão X, espera 3 segundos para o 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 nós queremos fazer é criar um ciclo que vai repetir as mesmas ações várias vezes, neste caso, estamos estimando que vamos ter de repetir este 300 vezes, por isso vamos usar o Loop sintaxe como esta:

Loop 300
(

)

Agora vamos precisar para automatizar a ação, clique o que é fácil de AutoHotkey-lo basta digitar clique. Você pode usar uma sintaxe mais avançada clique , se quiser, escolher exatamente onde você quer que ele clique na tela, ou escolher o clique de botão. Para nossos propósitos, vamos estar usando o padrão, que deixa-nos com esta:

Loop 300
(
clique
)

Agora o nosso script irá clicar 300 vezes em uma fileira, mas, infelizmente, temos essa confirmação de diálogo para tratar, então agora nós vamos usar a função Enviar para enviar a tecla barra de espaço para a janela ativa.

Loop 300
(
clique
Enviar, Espaço ()
)

Se você olhar a documentação que você verá toda a sintaxe especial para a regular keystrokes chaves podem ser inseridos normalmente, por exemplo, se você quiser tipo de teste e depois terminá-lo com um espaço, você pode usar isto:

Enviar, teste (space)

Então agora temos um script que clica no botão e, em seguida, bate a barra de espaço, o que seria certo, exceto a interface é lenta, pelo que temos de inserir uma pausa pequena entre cada execução do clique e envie funções. Para conseguir isso, vamos usar o função Sleep, que tem apenas um argumento de demora em milissegundos.

Loop 300
(
sono 3000
clique
o sono 3000
Enviar, Espaço ()
)

Agora temos um script que vai excluir os itens com sucesso, espera 3 segundos antes que comece assim que você pode mover o cursor do mouse sobre o X primeiro, clicar no botão, espera 3 segundos, apertando a barra de espaço, e depois esperar 3 segundos antes de ela passar o jogo seguinte. Você pode usar este script simples, agora se você quiser, mas se você quer parar o script?

O que vamos fazer é usar a função GetKeyState para verificar se você bateu um certo-chave para o teste, vamos usar a tecla F8 e adicionar o seguinte no meio do loop. Isto irá detectar se a tecla F8 foi pressionado, e depois usar o break para sair do loop.

GetKeyState, estadual, F8
se estado = D
quebrar

O roteiro final

Aqui está o script final todos juntos, o que provavelmente não lhe ajudará muito pois é específico para o meu cenário, mas você pode usá-lo para criar seus próprios scripts, basta modificar o número de cliques e teclas de envio.

Loop 300
(
GetKeyState, estaduais F8
se estado = D
quebrar
sono 3000
clique
sono 3000
Enviar, Espaço ()
)
Retorno

Para ilustrar como isso funciona na prática, aqui está um rápido vídeo que mostra-lo em ação:

Neste cenário específico, que me levou cerca de 3 minutos para jogar juntos um script em tempo guardada: 27 minutos. Só o tempo suficiente para eu gravar o vídeo e escrever este artigo!

comentários
  1. flavio disse:

    Cara sensacional seu passo a passo..

    Eu tenho uma tela de um sistema e um arquivo excel com 200 linhas e 9 colunas
    em cada linha a cada coluna tem uma informação que preciso jogar em um sistema.

    Gostaria de trocar umas figurinhas para saber como eu faria essa proeza, no aguardo.

    nascimento_flavio (hotmail)

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s