10Aug
Avez-vous déjà eu besoin d'effectuer la même tâche sans réfléchir sur votre PC?Au lieu de perdre des heures à cliquer sur des boutons et à appuyer sur des touches, c'est le moment idéal pour utiliser vos compétences AutoHotkey pour que votre PC fasse le travail pour vous.
Note: Cet exemple particulier est un exemple 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 plusieurs fois au cours des années pour économiser littéralement du temps.
Le scénario
J'essayais de passer au crible tout un tas de messages de diffusion incorrects dans notre compte de newsletter, quand j'ai réalisé que leur interface me demandait de cliquer manuellement sur le bouton Supprimer et de le confirmer sur chaque message.re parle de 300 messages incorrects qui devaient être supprimés. Pour aggraver les choses, l'interface est extrêmement lente, ce qui signifie que j'aurais passé une bonne 30-40 minutes juste en cliquant et en rendant mon canal carpien encore pire.
Au lieu de 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 quels clics et quelles touches j'avais besoin d'automatiser - évidemment, la première étape consiste à cliquer sur le bouton X, ce qui ouvre cette fenêtre de confirmation Ajax:
Heureusement, le bouton Supprimer est automatiquement mis en surbrillance.appuyez sur la touche Espace pour confirmer. Une fois l'enregistrement supprimé, tout glisse comme si la ligne n'était jamais là.Sachant cela, nous allons continuer et créer un script qui automatise en cliquant sur le bouton X, en attente de 3 secondes pour la boîte de dialogue de confirmation, appuie sur la barre d'espace, puis attend encore 3 secondes pour la ligne à disparaître.
Création du script
La première chose que nous voulons faire est de créer une boucle qui répétera les mêmes actions un certain nombre de fois - dans ce cas, nous estimons que nous devrons répéter cela 300 fois, donc nousUtilisez la syntaxe Loop comme ceci:
Boucle 300
{
}
Maintenant, nous aurons besoin d'automatiser l'action de clic, ce qui est facile dans AutoHotkey-vous tapez simplement cliquez sur .Vous pouvez utiliser une syntaxe de clic plus avancée si vous le souhaitez, en choisissant exactement l'endroit où vous voulez que l'utilisateur clique sur l'écran ou en cliquant sur le bouton. Pour nos besoins, nous allons simplement utiliser la valeur par défaut, ce qui nous laisse avec ceci:
Loop 300
{
cliquez sur
}
Maintenant, notre script va cliquer 300 fois de suite, mais malheureusement, nous avons cette boîte de dialogue de confirmationtraiter, alors maintenant, nous allons utiliser la fonction Envoyer pour envoyer la touche de la barre d'espace à la fenêtre active.
Boucle 300
{
cliquez sur
Envoyer,{ Espace}
}
Si vous regardez la documentation, vous verrez toute la syntaxe pour les touches spéciales - les frappes normales peuvent être entrées normalement - par exemple, si vous voulez taper tester et puis le terminer avec un espace, vous devez utiliser ceci:
Envoyer, tester{ Espace}
Donc maintenant nous avons un script qui clique sur le bouton, puis frappe la barre d'espace, ce qui serait bien, sauf l'interfaceest lent, nous devons donc insérer une petite pause entre chaque exécution des fonctions click et send. Pour ce faire, nous allons utiliser la fonction Sleep, qui ne prend qu'un argument: le délai en millisecondes.
Boucle 300
{
sommeil 3000
cliquez
sommeil 3000
Envoyer,{ Espace}
}
Maintenant, nous avons un script qui va supprimer les éléments avec succès, en attente 3 secondes avant qu'il ne commence afin que vous puissiez déplacer le curseur de la sourissur 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 à l'ensemble suivant. Vous pouvez utiliser ce script si vous le souhaitez, mais que se passe-t-il si vous voulez arrêter le script?
Ce que nous allons faire est d'utiliser la fonction GetKeyState pour vérifier si vous avez tapé une certaine touche. Pour tester, nous allons utiliser la touche F8 et ajouter la suivante au milieu de la boucle. Cela détectera si la touche F8 a été enfoncée, puis utilisera la pause pour quitter la boucle.
GetKeyState, état, F8
si état = D
casse
Le script final
Voici le script final, qui ne vous aidera probablement pas car il est spécifique à mon scénario, mais vous pouvez l'utiliser pour créer votre script.propres scripts en modifiant simplement les clics et l'envoi de touches.
Boucle 300
{
GetKeyState, état, F8
si état = D
pause
sommeil 3000
cliquez
sommeil 3000
Envoyer,{ Espace}
}
Retour
Pour illustrer comment cela fonctionne dans la pratique, voici une vidéo rapidele montre en action:
Dans ce scénario particulier, il m'a fallu environ 3 minutes pour lancer un script de travail-temps enregistré: 27 minutes. Juste le temps pour moi d'enregistrer la vidéo et écrire cet article!