Πώς να γράψετε ένα σενάριο AutoHotkey

AutoHotkey είναι ένα φανταστικό αλλά πολύπλοκο λογισμικό. Αρχικά προοριζόταν να επανασυνδέσει προσαρμοσμένα πλήκτρα πρόσβασης σε διαφορετικές ενέργειες, αλλά τώρα είναι μια πλήρης σουίτα αυτοματισμού των Windows.

Η εκμάθηση της AHK δεν είναι ιδιαίτερα δύσκολη για νέους χρήστες, καθώς η γενική ιδέα είναι αρκετά απλή, αλλά είναι μια πλήρης γλώσσα προγραμματισμού πλήρης Turing. Θα καταλάβετε τη σύνταξη πολύ πιο εύκολα εάν έχετε ένα υπόβαθρο προγραμματισμού ή είστε εξοικειωμένοι με τις έννοιες.

Εγκατάσταση και χρήση του AutoHotkey

Η διαδικασία εγκατάστασης του AutoHotkey είναι απλή. Κατεβάστε το εγκαταστάτης από τον επίσημο ιστότοπο και εκτελέστε το. Επιλέξτε «Εξπρές Εγκατάσταση». Αφού εγκαταστήσετε το λογισμικό, μπορείτε να κάνετε δεξί κλικ οπουδήποτε και να επιλέξετε New > AutoHotkey Script για να δημιουργήσετε ένα νέο σενάριο.

Τα σενάρια AHK είναι αρχεία κειμένου με επέκταση .ahk. Εάν κάνετε δεξί κλικ σε αυτά, θα λάβετε μερικές επιλογές:

Το “Run Script” θα φορτώσει το σενάριό σας με το χρόνο εκτέλεσης AHK.
Το “Compile Script” θα το συνδυάσει με ένα εκτελέσιμο αρχείο AHK για να δημιουργήσει ένα αρχείο EXE που μπορείτε να εκτελέσετε.
Το “Edit Script” θα ανοίξει το σενάριό σας στο προεπιλεγμένο πρόγραμμα επεξεργασίας κειμένου. Μπορείτε να χρησιμοποιήσετε το Σημειωματάριο για να γράψετε σενάρια AHK, αλλά συνιστούμε τη χρήση SciTE4AutoHotkey, ένα πρόγραμμα επεξεργασίας για το AHK που υποστηρίζει επισήμανση σύνταξης και εντοπισμό σφαλμάτων.

Ενώ εκτελείται μια δέσμη ενεργειών—είτε είναι EXE είτε όχι—θα τη βρείτε να εκτελείται στο παρασκήνιο στην περιοχή ειδοποιήσεων των Windows, γνωστή και ως δίσκος συστήματος. Αναζητήστε το πράσινο εικονίδιο με ένα “H” πάνω του.

Για έξοδο, παύση, επαναφόρτωση ή επεξεργασία ενός σεναρίου, κάντε δεξί κλικ στο εικονίδιο ειδοποίησης και επιλέξτε την κατάλληλη επιλογή. Τα σενάρια θα συνεχίσουν να εκτελούνται στο παρασκήνιο μέχρι να βγείτε από αυτά. Θα εξαφανιστούν επίσης όταν αποσυνδεθείτε από τα Windows ή επανεκκινήσετε τον υπολογιστή σας, φυσικά.

  Πώς να σαρώσετε μια επαγγελματική κάρτα και να την αποθηκεύσετε στις επαφές σας

Πώς λειτουργεί το AutoHotkey;

Στον πυρήνα του, το AHK κάνει ένα πράγμα: συνδέει ενέργειες σε πλήκτρα πρόσβασης. Υπάρχουν πολλές διαφορετικές ενέργειες, συνδυασμοί πλήκτρων πρόσβασης και δομές ελέγχου, αλλά όλα τα σενάρια θα λειτουργούν με την ίδια αρχή. Ακολουθεί ένα βασικό σενάριο AHK που εκκινεί το Google Chrome κάθε φορά που πατάτε τα Windows+C:

#c::
Run Chrome
return

Η πρώτη γραμμή ορίζει ένα πλήκτρο πρόσβασης. Το σύμβολο της λίρας (#) είναι σύντομο για το πλήκτρο των Windows και c είναι το πλήκτρο C στο πληκτρολόγιο. Μετά από αυτό, υπάρχει μια διπλή άνω και κάτω τελεία (::) που σημαίνει την έναρξη ενός μπλοκ δράσης.

Η επόμενη γραμμή είναι μια δράση. Σε αυτήν την περίπτωση, η ενέργεια εκκινεί μια εφαρμογή με την εντολή Εκτέλεση. Το μπλοκ ολοκληρώνεται με επιστροφή στο τέλος. Μπορείτε να κάνετε οποιονδήποτε αριθμό ενεργειών πριν από την επιστροφή. Θα πυροδοτήσουν όλα διαδοχικά.

Ακριβώς έτσι, έχετε ορίσει μια απλή αντιστοίχιση κλειδιού σε δράση. Μπορείτε να τοποθετήσετε όσα από αυτά θέλετε σε ένα αρχείο .ahk και να το ρυθμίσετε να εκτελείται στο παρασκήνιο, αναζητώντας πάντα πλήκτρα πρόσβασης για να αντιστοιχίσετε εκ νέου.

Πλήκτρα συντόμευσης και τροποποιητές

Μπορείτε να βρείτε μια πλήρη λίστα με τους τροποποιητές του AHK σε επίσημη τεκμηρίωση, αλλά θα εστιάσουμε στα πιο χρήσιμα (και cool) χαρακτηριστικά.

Τα πλήκτρα τροποποίησης έχουν όλα συντομογραφία ενός χαρακτήρα. Για παράδειγμα, # ! Τα ^ + είναι Windows, Alt, Control και Shift, αντίστοιχα. Μπορείτε επίσης να διαφοροποιήσετε το αριστερό και το δεξί Alt, Control και Shift με τους τροποποιητές, κάτι που ανοίγει πολύ χώρο για επιπλέον πλήκτρα πρόσβασης. Για παράδειγμα, το + είναι το δεξί Shift. Ρίξτε μια ματιά στο λίστα κλειδιών για όλα όσα μπορείτε να αναφέρετε. (Spoiler: Μπορείτε να αναφέρετε σχεδόν κάθε πλήκτρο. Μπορείτε ακόμη και να αναφέρετε άλλες συσκευές εισόδου εκτός πληκτρολογίου με μικρή επέκταση).

Μπορείτε να συνδυάσετε όσα πλήκτρα θέλετε σε ένα πλήκτρο πρόσβασης, αλλά σύντομα θα ξεμείνετε από συνδυασμούς πλήκτρων για να θυμάστε. Εδώ μπαίνουν οι τροποποιητές, που σας επιτρέπουν να κάνετε πιο τρελά πράγματα. Ας αναλύσουμε ένα παράδειγμα από τα έγγραφα AHK:

  Πώς να προσθέσετε εκπομπές Netflix σε μια ιστορία Instagram

Το πράσινο #IfWinActive ονομάζεται οδηγία και εφαρμόζει πρόσθετο πλαίσιο στα πλήκτρα πρόσβασης φυσικά κάτω από αυτό στο σενάριο. Οποιοδήποτε πλήκτρο πρόσβασης μετά από αυτό θα ενεργοποιηθεί μόνο εάν η συνθήκη είναι αληθής και μπορείτε να ομαδοποιήσετε πολλά πλήκτρα πρόσβασης σε μία οδηγία. Αυτή η οδηγία δεν θα αλλάξει έως ότου πληκτρολογήσετε μια άλλη οδηγία, αλλά μπορείτε να την επαναφέρετε με ένα κενό #If (και αν αυτό φαίνεται σαν χακάρισμα, καλώς ήρθατε στο AHK).

Η οδηγία εδώ ελέγχει εάν ένα συγκεκριμένο παράθυρο είναι ανοιχτό, που ορίζεται από το Σημειωματάριο ahk_class. Όταν το AHK λάβει την είσοδο “Win+C”, θα ενεργοποιήσει την ενέργεια κάτω από το πρώτο #IfWinActive μόνο εάν η οδηγία επέστρεψε αληθής και, στη συνέχεια, θα ελέγξει τη δεύτερη εάν δεν το έκανε. Το AHK έχει πολλές οδηγίες και μπορείτε να τις βρείτε όλες μέσα τα έγγραφα.

Το AutoHotkey έχει επίσης καυτές χορδές, τα οποία λειτουργούν σαν πλήκτρα πρόσβασης εκτός από την αντικατάσταση μιας ολόκληρης σειράς κειμένου. Αυτό είναι παρόμοιο με το πώς λειτουργεί η αυτόματη διόρθωση — στην πραγματικότητα, υπάρχει ένα σενάριο αυτόματης διόρθωσης για AHK—αλλά υποστηρίζει οποιαδήποτε ενέργεια AHK.

Η hotstring θα ταιριάζει με τη συμβολοσειρά μόνο εάν έχει πληκτρολογηθεί ακριβώς. Θα αφαιρέσει αυτόματα το αντιστοιχισμένο κείμενο για να αντικαταστήσει επίσης την hotstring, αν και αυτή η συμπεριφορά μπορεί να προσαρμοστεί.

Ενέργειες

Μια ενέργεια στο AHK είναι οτιδήποτε έχει εξωτερική επίδραση στο λειτουργικό σύστημα. Το AHK έχει πολλές ενέργειες. Δεν μπορούμε να τα εξηγήσουμε όλα, επομένως θα επιλέξουμε μερικά χρήσιμα.

Αποστολή εισόδου, είτε πρόκειται για κείμενο είτε για διάφορα πάτημα κουμπιών.
Μετακίνηση του ποντικιού γύρω. Στην πραγματικότητα, το AHK μερικές φορές επισημαίνεται λανθασμένα ως λογισμικό εξαπάτησης για βιντεοπαιχνίδια, καθώς οι άνθρωποι έχουν δημιουργήσει πλήρως λειτουργικά ambots με αυτό.
Κάνοντας κλικ με το ποντίκι, με τοποθέτηση σε σχέση με το τρέχον παράθυρο.
Εμφάνιση μενού διαλόγου, πλήρης με φόρμες και πεδία εισαγωγής.
Μετακίνηση παραθύρων, προσαρμογή μεγέθους και άνοιγμα και κλείσιμο.
Παίζοντας μουσική.
Εγγραφή στο μητρώο των Windows. Ναι αλήθεια.
Τροποποίηση των περιεχομένων του Πρόχειρου.
Ανάγνωση και εγγραφή αρχείων. Μπορείτε να κάνετε επαναφορά αρχείων και να εκτελέσετε ενέργειες σε κάθε γραμμή. Το AHK μπορεί ακόμη και να γράψει σε αρχεία .ahk και να προσαρμόσει τον δικό του κώδικα.

  Πώς να αποθηκεύσετε αυτόματα τις ιστορίες Snapchat

Οι περισσότερες από αυτές τις ενέργειες θα έχουν επίσης εντολές προσανατολισμένες στις πληροφορίες που σχετίζονται με αυτές. Για παράδειγμα, μπορείτε να γράψετε στο πρόχειρο, αλλά μπορείτε επίσης να αποθηκεύσετε τα περιεχόμενα του Προχείρου σε μια μεταβλητή και να εκτελέσετε συναρτήσεις όταν αλλάζει το πρόχειρο.

Συνδέοντας τα όλα με δομές ελέγχου

Το AHK δεν θα ήταν αυτό που είναι χωρίς όλες τις δομές ελέγχου που το κάνουν Turing-πλήρης.

Εκτός από τις οδηγίες #If, έχετε επίσης πρόσβαση σε Αν μέσα σε μπλοκ δράσης. Το AHK έχει Για βρόχους, σγουρό στήριγμα μπλοκ, Δοκιμάστε και δηλώσεις Catch, και πολλά άλλα. Μπορείτε να αποκτήσετε πρόσβαση σε εξωτερικά δεδομένα μέσα από το μπλοκ ενεργειών και να τα αποθηκεύσετε μεταβλητές ή αντικείμενα για χρήση αργότερα. Μπορείτε να ορίσετε προσαρμοσμένες λειτουργίες και ετικέτες. Πραγματικά, οτιδήποτε θα μπορούσατε να κάνετε εύκολα σε μια άλλη γλώσσα προγραμματισμού, πιθανότατα μπορείτε να το κάνετε στο AHK με λίγο πονοκέφαλο και μια ματιά στα έγγραφα.

Για παράδειγμα, φανταστείτε ότι έχετε μια βαρετή, επαναλαμβανόμενη εργασία που απαιτεί από εσάς να κάνετε κλικ σε πολλά κουμπιά στη σειρά και να περιμένετε να απαντήσει ένας διακομιστής πριν την επαναλάβετε επ’ άπειρον. Μπορείτε να χρησιμοποιήσετε το AHK για να το αυτοματοποιήσετε. Θα θέλατε να ορίσετε μερικούς βρόχους για να μετακινήσετε το ποντίκι σε συγκεκριμένες τοποθεσίες, κάντε κλικ και, στη συνέχεια, μετακινηθείτε στο επόμενο σημείο και κάντε ξανά κλικ. Ρίξτε μερικές δηλώσεις αναμονής για να μην σπάσει. Θα μπορούσατε ακόμη και να προσπαθήσετε διαβάστε το χρώμα των pixel στην οθόνη για να καθορίσει τι συμβαίνει.

Ένα πράγμα είναι σίγουρο – το σενάριό σας πιθανότατα δεν θα είναι όμορφο. Αλλά ούτε το AutoHotkey είναι και αυτό είναι εντάξει.