Page d'accueil » comment » Comment gagner du temps en automatisant des tâches fastidieuses avec AutoHotkey

    Comment gagner du temps en automatisant des tâches fastidieuses avec AutoHotkey

    Avez-vous déjà eu besoin d'exécuter la même tâche insensée encore et encore sur votre PC? Au lieu de perdre des heures à cliquer sur les boutons et à appuyer sur les touches, c’est le moment idéal pour utiliser vos compétences en AutoHotkey pour que votre PC fasse le travail à votre place..

    Remarque: Cet exemple particulier est un exemple réel que j’ai utilisé plus tôt aujourd’hui pour gagner un peu de temps, mais ce sont des techniques que j’ai utilisées à maintes reprises au fil des ans pour me sauver littéralement des jours..

    Le scénario

    J'essayais de nettoyer et de nettoyer une série de messages de diffusion incorrects dans notre compte de lettre d'information par courrier électronique, quand je me suis rendu compte que leur interface nécessitait que je clique manuellement sur le bouton Supprimer, puis que je le confirme sur chaque message. On parle de 300 messages incorrects à supprimer. Pour aggraver les choses, l'interface est extrêmement lente, ce qui signifie que j'aurais passé 30 à 40 bonnes minutes à cliquer et à aggraver mon tunnel carpien..

    Au lieu de faire cela, j'ai créé un nouveau script AutoHotkey et rapidement écrit un script pour faire le travail pour moi.

    La première étape consistait à identifier exactement les clics et les clés que je devais automatiser. La première étape consiste évidemment à cliquer sur le bouton X, ce qui ouvre cette boîte de dialogue de confirmation Ajax:

    Heureusement, le bouton Supprimer est automatiquement mis en surbrillance, vous pouvez donc appuyer simplement sur la touche Espace pour confirmer. Une fois l'enregistrement supprimé, tout se passe comme si la ligne n'était jamais là. Sachant cela, nous allons créer un script qui automatise le clic sur le bouton X, attend 3 secondes pour la boîte de dialogue de confirmation, appuie sur la barre d'espacement, puis attende 3 secondes supplémentaires pour que la ligne disparaisse..

    Création du script

    La première chose que nous souhaitons faire est de créer une boucle qui répète les mêmes actions plusieurs fois. Dans ce cas, nous estimons que nous devrons répéter cette opération 300 fois. Nous allons donc utiliser la boucle. syntaxe comme ceci:

    Boucle 300

    Maintenant, nous allons devoir automatiser l'action de clic, ce qui est facile avec AutoHotkey: il vous suffit de taper Cliquez sur. Vous pouvez utiliser une syntaxe de clic plus avancée si vous le souhaitez, en choisissant exactement où vous souhaitez que l'utilisateur clique à l'écran ou en choisissant le clic de bouton. Pour nos besoins, nous allons simplement utiliser la valeur par défaut, ce qui nous laisse avec ceci:

    Boucle 300

    Cliquez sur

    Notre script va maintenant cliquer 300 fois de suite, mais nous avons malheureusement cette boîte de dialogue de confirmation à utiliser. Nous allons donc utiliser la fonction Envoyer pour envoyer la frappe de la barre d'espace à la fenêtre active..

    Boucle 300

    Cliquez sur
    Envoyer, Espace

    Si vous consultez la documentation, vous verrez toute la syntaxe des touches spéciales: vous pouvez saisir des touches normales, par exemple, par exemple, si vous voulez taper tester et ensuite le terminer avec un espace, vous utiliseriez ceci:

    Envoyer, tester Espace

    Nous avons donc maintenant un script qui clique sur le bouton, puis sur la barre d’espace, ce qui serait bien sauf que l’interface est lente. Nous devons donc insérer une petite pause entre chaque exécution des fonctions click et send. Pour ce faire, nous utiliserons la fonction Sleep, qui ne prend qu'un argument, le délai en millisecondes..

    Boucle 300

    dormir 3000
    Cliquez sur
    dormir 3000
    Envoyer, Espace

    Nous avons maintenant un script qui supprimera les éléments avec succès, en attendant 3 secondes avant de commencer pour que vous puissiez déplacer le curseur de la souris sur le premier X, en cliquant sur le bouton, en attendant 3 secondes, en appuyant sur la barre d'espace, puis en attendant 3 secondes avant de passer à la série suivante. Vous pouvez utiliser ce script simple dès maintenant si vous le souhaitez, mais que se passe-t-il si vous souhaitez arrêter le script?

    Nous allons utiliser la fonction GetKeyState pour vérifier si vous avez appuyé sur une touche donnée. Nous allons utiliser la touche F8 et ajouter les éléments suivants au milieu de la boucle. Ceci détectera si la touche F8 a été enfoncée, puis utilisera la pause pour sortir de la boucle..

    GetKeyState, état, F8
    si état = D
    Pause

    Le script final

    Voici le script final tout mis en place, ce qui ne vous aidera probablement pas beaucoup car il est spécifique à mon scénario - mais vous pouvez l'utiliser pour créer vos propres scripts en modifiant simplement les clics et l'envoi de frappe.

    Boucle 300

    GetKeyState, état, F8
    si état = D
    Pause
    dormir 3000
    Cliquez sur
    dormir 3000
    Envoyer, Espace

    Revenir

    Pour illustrer comment cela fonctionne dans la pratique, voici une vidéo rapide qui le montre en action:

    Dans ce scénario particulier, il m'a fallu environ 3 minutes pour assembler un script économisé: 27 minutes. Juste assez de temps pour que je puisse enregistrer la vidéo et écrire cet article!