10Aug
Έχετε ποτέ χρειαστεί να εκτελέσετε την ίδια ανύπαρκτη εργασία ξανά και ξανά στον υπολογιστή σας;Αντί να χάσετε ώρες κάνοντας κουμπιά και χτυπώντας πλήκτρα, αυτή είναι η τέλεια στιγμή για να χρησιμοποιήσετε τις ικανότητές σας στο AutoHotkey για να κάνετε τον υπολογιστή σας να κάνει τη δουλειά για σας.
Σημείωση: Αυτό το συγκεκριμένο παράδειγμα είναι ένα πραγματικό παράδειγμα που χρησιμοποίησα νωρίτερα σήμερα για να σώσει ένα μικρό χρονικό διάστημα, αλλά αυτές είναι τεχνικές που έχω χρησιμοποιήσει πολλές φορές όλα αυτά τα χρόνια για να σώσω κυριολεκτικά τις μέρες του χρόνου.
Το σενάριο
Προσπαθούσα να περάσω και να καθαρίσω μια δέσμη εσφαλμένων μηνυμάτων μετάδοσης στο λογαριασμό ηλεκτρονικού ταχυδρομείου μας, όταν συνειδητοποίησα ότι η διεπαφή τους με έκανε να χτυπήσω με το χέρι το κουμπί Διαγραφή και στη συνέχεια να το επιβεβαιώσω σε κάθε μήνυμα -μιλάμε για 300 εσφαλμένα μηνύματα που έπρεπε να διαγραφούν.Για να κάνει τα πράγματα χειρότερα, η διεπαφή είναι εξαιρετικά αργή, πράγμα που σημαίνει ότι θα είχα περάσει ένα καλό 30-40 λεπτά απλά κάνοντας κλικ και κάνοντας το carpal μου τούνελ ακόμη χειρότερο.
Αντί να το κάνω, δημιούργησα ένα νέο σενάριο AutoHotkey και έγραψα γρήγορα ένα σενάριο για να φτιάξω το έργο για μένα.
Το πρώτο βήμα ήταν να εντοπίσω ακριβώς ποια κλικ και πλήκτρα χρειάζομαι για αυτοματοποίηση - προφανώς το πρώτο βήμα είναι να πατήσετε το κουμπί X, το οποίο φέρνει σε αυτό το παράθυρο διαλόγου επιβεβαίωσης του Ajax:
Ευτυχώς το κουμπί Delete διαγράφεται αυτόματα,πατήστε το πλήκτρο Space για επιβεβαίωση.Μόλις διαγραφεί η εγγραφή, όλα ολισθαίνουν σαν να μην υπήρχε ποτέ η σειρά.Γνωρίζοντας αυτό, θα προχωρήσουμε και θα δημιουργήσουμε ένα σενάριο που αυτοματοποιεί το κλικ στο κουμπί X, περιμένοντας 3 δευτερόλεπτα για το παράθυρο διαλόγου επιβεβαίωσης, πατώντας τη γραμμή διαστήματος και στη συνέχεια περιμένουν άλλα 3 δευτερόλεπτα για να εξαφανιστεί η σειρά.
Δημιουργία της δέσμης ενεργειών
Το πρώτο πράγμα που θα θέλαμε να κάνουμε είναι να δημιουργήσουμε ένα βρόχο που θα επαναλαμβάνει τις ίδιες ενέργειες αρκετές φορές - σε αυτή την περίπτωση εκτιμούμε ότι θα πρέπει να το επαναλάβουμε 300 φορές, γι 'αυτόθα χρησιμοποιήσουμε τη σύνταξη του βρόχου όπως αυτή:
Loop 300
{
}
Τώρα θα χρειαστεί να αυτοματοποιήσουμε τη δράση κλικ, η οποία είναι εύκολη στο AutoHotkey - απλά πληκτρολογείτε κλικ στο .Μπορείτε να χρησιμοποιήσετε μια πιο σύνθετη σύνταξη κλικ αν θέλετε, επιλέγοντας ακριβώς πού θέλετε να κάνετε κλικ στην οθόνη ή επιλέγοντας το κουμπί κλικ.Για τους σκοπούς μας, απλά θα χρησιμοποιήσουμε την προεπιλογή, η οποία μας αφήνει με αυτό:
Loop 300
{
κλικ
}
Τώρα το σενάριό μας θα κάνει κλικ 300 φορές στη σειρά, αλλά δυστυχώς έχουμε αυτό το διάλογο επιβεβαίωσης για ναασχολείστε, οπότε τώρα θα χρησιμοποιήσουμε τη λειτουργία Αποστολή για να στείλετε το πλήκτρο διαστήματος στο ενεργό παράθυρο.
Loop 300
{
κλικ
Αποστολή,{ Space}
}
Αν κοιτάξετε την τεκμηρίωση θα δείτε όλη τη σύνταξη για τα ειδικά πλήκτρα - οι κανονικές πληκτρολογήσεις μπορούν κανονικά να εισαχθούν - για παράδειγμα, αν θέλετε να πληκτρολογήσετε δοκιμάστε το και, στη συνέχεια, το τερματίστε με ένα διάστημα, χρησιμοποιήσατε το εξής:
Αποστολή, δοκιμή{ Space}
Τώρα έχουμε ένα script που κάνει κλικ στο κουμπί και έπειτα αγγίζει τη μπάρα διαστήματος, κάτι που θα ήταν εντάξει εκτός από τη διεπαφήείναι αργή, οπότε πρέπει να εισαγάγουμε μια μικρή παύση μεταξύ κάθε εκτέλεσης των λειτουργιών κλικ και αποστολής.Για να το επιτύχουμε, θα χρησιμοποιήσουμε τη λειτουργία Sleep, η οποία παίρνει μόνο ένα επιχείρημα - την καθυστέρηση σε χιλιοστά του δευτερολέπτου.
Loop 300
{
ύπνος 3000
κλικ
ύπνος 3000
Αποστολή,{ Space}
}
Τώρα έχουμε μια δέσμη ενεργειών που θα διαγράψει επιτυχώς τα στοιχεία, περιμένοντας 3 δευτερόλεπτα πριν ξεκινήσει, ώστε να μπορείτε να μετακινήσετε τον κέρσορα του ποντικιούκατά τη διάρκεια του πρώτου X, κάνοντας κλικ στο κουμπί, περιμένοντας 3 δευτερόλεπτα, χτυπώντας τη μπάρα διαστήματος και στη συνέχεια περιμένοντας 3 δευτερόλεπτα προτού περάσει το επόμενο σετ.Θα μπορούσατε να χρησιμοποιήσετε αυτό το απλό σενάριο τη στιγμή αυτή, αν θέλετε - αλλά τι γίνεται αν θέλετε να σταματήσετε το σενάριο;
Αυτό που θα κάνουμε είναι να χρησιμοποιήσετε τη λειτουργία GetKeyState για να ελέγξετε αν έχετε πληκτρολογήσει ένα συγκεκριμένο κλειδί-για έλεγχο, θα χρησιμοποιήσουμε το πλήκτρο F8 και θα προσθέσουμε τα παρακάτω στη μέση του βρόχου.Αυτό θα ανιχνεύσει αν έχει πατηθεί το πλήκτρο F8 και, στη συνέχεια, χρησιμοποιήστε το σπάσιμο για να βγείτε από το βρόχο.
GetKeyState, state, F8
αν κατάσταση = D
break
Το τελικό σενάριο
Εδώ είναι το τελικό σενάριο όλα μαζί, το οποίο πιθανότατα δεν θα σας βοηθήσει πολύ, αφού είναι συγκεκριμένο για το σενάριό μου - αλλά μπορείτε να το χρησιμοποιήσετε για να δημιουργήσετετα δικά σας σενάρια απλά τροποποιώντας τα κλικ και την αποστολή πλήκτρων.
Loop 300
{
GetKeyState, κατάσταση, F8
αν κατάσταση = D
σπάσει
ύπνος 3000
κλικ
ύπνος 3000
Αποστολή,{ Space}
}
Επιστροφή
Για να απεικονίσει πώς λειτουργεί αυτό στην πράξη, εδώ είναι ένα γρήγορο βίντεοδείχνει σε δράση:
Σε αυτό το συγκεκριμένο σενάριο, μου χρειάστηκαν περίπου 3 λεπτά για να ρίξω μαζί ένα αποθηκευμένο script-time που σώθηκε: 27 λεπτά.Απλά αρκετό χρόνο για μένα να καταγράψω το βίντεο και να γράψω αυτό το άρθρο!