10Aug
Haben Sie jemals die gleiche hirnlose Aufgabe auf Ihrem PC immer wieder ausgeführt? Anstatt Stunden damit zu verschwenden, auf Schaltflächen zu klicken und Schlüssel zu drücken, ist dies der perfekte Zeitpunkt, um mit Ihren AutoHotkey-Fähigkeiten Ihren PC dazu zu bringen, die Arbeit für Sie zu erledigen.
Hinweis: Dieses spezielle Beispiel ist ein echtes Beispiel, das ich früher verwendet habe, um eine kleine Menge an Zeit zu sparen, aber das sind Techniken, die ich im Laufe der Jahre oft benutzt habe, um mich buchstäblich Tage zu sparen.
Das Szenario
Ich habe versucht, einige falsche Nachrichten in unserem E-Mail-Newsletter-Konto zu löschen und zu löschen, als ich feststellte, dass ich über die Benutzeroberfläche manuell auf die Schaltfläche Löschen klicken und diese bei jeder einzelnen Nachricht bestätigen musste.rede über 300 falsche Nachrichten, die gelöscht werden mussten. Um die Sache noch schlimmer zu machen, ist die Schnittstelle extrem langsam, was bedeutet, dass ich gut 30-40 Minuten damit verbracht hätte, nur zu klicken und meinen Karpaltunnel noch schlimmer zu machen.
Anstatt dies zu tun, habe ich ein neues AutoHotkey-Skript erstellt und schnell ein Skript erstellt, um die Arbeit für mich zu erledigen.
Der erste Schritt bestand darin, genau zu bestimmen, welche Klicks und Tasten ich automatisieren musste - offensichtlich ist der erste Schritt das Klicken auf den X-Knopf, der diesen Ajax-Bestätigungsdialog aufruft:
Zum Glück wird die Löschen-Schaltfläche automatisch hervorgehobenDrücke die Leertaste, um zu bestätigen. Sobald der Datensatz gelöscht wurde, gleitet alles nach oben, als ob die Zeile nie da wäre. Wenn wir dies wissen, werden wir weitermachen und ein Skript erstellen, das das Klicken auf die Schaltfläche X automatisiert, 3 Sekunden auf den Bestätigungsdialog wartet, die Leertaste drückt und dann weitere 3 Sekunden wartet, bis die Zeile verschwindet.
Erstellen des Skripts
Als erstes sollten wir eine Schleife erstellen, die die gleichen Aktionen mehrmals wiederholtverwende die Loop-Syntax wie folgt:
Loop 300
{
}
Jetzt müssen wir die Klickaktion automatisieren, was in AutoHotkey einfach ist - du tippst einfach auf .Sie können eine erweiterte Klick-Syntax verwenden, wenn Sie möchten, wählen Sie genau, wo Sie es auf den Bildschirm klicken möchten, oder klicken Sie auf die Schaltfläche klicken. Für unsere Zwecke verwenden wir nur den Standard, der uns folgendes lässt:
Loop 300
{
click
}
Nun wird unser Skript 300 Mal hintereinander klicken, aber leider haben wir diesen Bestätigungsdialogbeschäftigen wir uns nun mit der Send-Funktion, um die Leertaste der Leertaste an das aktive Fenster zu senden.
Loop 300
{
klicken Sie auf
Senden,{ Space}
}
Wenn Sie sich die Dokumentation ansehen, sehen Sie die gesamte Syntax für spezielle Tasten - normale Tastenanschläge können normal eingegeben werden, zB wenn Sie eingeben möchtenteste und beende es dann mit einem Space, du würdest folgendes verwenden:
Sende, test{ Space}
Also haben wir jetzt ein Skript, das auf die Schaltfläche klickt und dann die Leertaste berührt, was außer der Schnittstelle in Ordnung wäreist langsam, also müssen wir zwischen jeder Ausführung der Klick- und Sendefunktionen eine kleine Pause einfügen. Um dies zu erreichen, verwenden wir die Sleep-Funktion, die nur ein Argument benötigt - die Verzögerung in Millisekunden.
Schleife 300
{
sleep 3000
klicken Sie auf
sleep 3000
Senden,{ Space}
}
Jetzt haben wir ein Skript, das die Elemente erfolgreich löscht und drei Sekunden vor dem Start wartet, damit Sie den Mauszeiger bewegen könnenüber das erste X, klicken Sie auf die Schaltfläche, warten 3 Sekunden, schlagen Sie die Leertaste, und warten Sie dann 3 Sekunden, bevor es durch den nächsten Satz geht. Sie könnten dieses einfache Skript jetzt verwenden, wenn Sie möchten - aber was, wenn Sie das Skript stoppen möchten?
Mit der GetKeyState-Funktion überprüfen wir, ob Sie eine bestimmte Taste gedrückt haben. Zum Testen verwenden wir den F8-Schlüssel und fügen das Folgende in die Mitte der Schleife ein. Dadurch wird erkannt, ob die Taste F8 gedrückt wurde, und dann die Pause verwendet, um die Schleife zu verlassen.
GetKeyState, state, F8
wenn state = D
break
Das abschließende Skript
Hier ist das letzte Skript, das zusammengefügt wird, was Ihnen wahrscheinlich nicht zu viel hilft, da es für mein Szenario spezifisch ist - aber Sie können es verwenden, um Ihr zu erstelleneigene Skripte, indem Sie einfach die Klicks und die Tastenfolge ändern.
Schleife 300
{
GetKeyState, Zustand, F8
wenn Zustand = D
Pause
Schlaf 3000
Klick
Schlaf 3000
Senden,{ Space}
}
Zurück
Um zu veranschaulichen, wie dies in der Praxis funktioniert, hier ist ein kurzes Video, dasszeigt es in Aktion:
In diesem speziellen Szenario brauchte ich etwa 3 Minuten, um eine funktionierende Skript-Zeit zu erstellen: 27 Minuten. Gerade genug Zeit, um das Video aufzunehmen und diesen Artikel zu schreiben!