כיצד לכתוב סקריפט AutoHotkey

AutoHotkey היא תוכנה נהדרת אך מסובכת. תחילה הוא נועד לאתחל מקשי קיצור מותאמים אישית לפעולות שונות אך כעת הוא חבילת אוטומציה מלאה של Windows.

AHK לא קשה במיוחד ללמוד למשתמשים חדשים, שכן הרעיון הכללי הוא פשוט למדי, אך זו שפת תכנות מלאה ומלאה של טיורינג. תוכל להרים את התחביר הרבה יותר קל אם יש לך רקע תכנותי או שאתה מכיר את המושגים.

התקנה ושימוש ב- AutoHotkey

תהליך ההתקנה של AutoHotkey הוא פשוט. הורד את המתקין מהאתר הרשמי והפעל אותו. בחר "התקנה מהירה". לאחר התקנת התוכנה, תוכלו ללחוץ לחיצה ימנית בכל מקום ולבחור חדש> סקריפט AutoHotkey כדי ליצור סקריפט חדש.

סקריפטים של AHK הם קבצי טקסט עם .ahk סיומת. אם תלחץ עליהם באמצעות לחצן העכבר הימני, תקבל כמה אפשרויות:

  • "הפעל סקריפט" יטען את הסקריפט שלך בזמן הריצה של AHK.
  • "תסריט קומפילציה" יאגד אותו עם הפעלת AHK כדי ליצור קובץ EXE שתוכל להריץ.
  • "ערוך סקריפט" יפתח את הסקריפט בעורך הטקסט המוגדר כברירת מחדל. אתה יכול להשתמש ב- Notepad כדי לכתוב סקריפטים של AHK, אך אנו ממליצים להשתמש ב- SciTE4AutoHotkey, עורך עבור AHK התומך בהדגשת תחביר ובאיתור באגים.

בזמן שסקריפט פועל - בין אם זה EXE או לא - תמצא אותו פועל ברקע באזור ההודעות של Windows, הידוע גם בשם מגש המערכת. חפש את הסמל הירוק ועליו "H".

כדי לצאת, להשהות, לטעון מחדש או לערוך סקריפט, לחץ לחיצה ימנית על סמל ההתראה ובחר אפשרות מתאימה. סקריפטים ימשיכו לרוץ ברקע עד שתצא מהם. הם ייעלמו גם כאשר תצא מ- Windows או אתחל מחדש את המחשב שלך, כמובן.

איך AutoHotkey עובד?

בבסיסה, AHK עושה דבר אחד - לאגד פעולות למקשי הקיצור. יש הרבה פעולות שונות, שילובי מקשים חמים ומבני בקרה, אך כל התסריטים יפעלו על אותו עיקרון. הנה סקריפט AHK בסיסי שמשיק את Google Chrome בכל פעם שאתה לוחץ על Windows + C:

#c :: הפעל את החזרת Chrome

השורה הראשונה מגדירה מקש קיצור. סימן הלירה (#) הוא קיצור של מקש Windows והוא c מקש C במקלדת. לאחר מכן, יש נקודתיים כפולה (: :) כדי לסמן את תחילת חסימת הפעולה.

השורה הבאה היא פעולה. במקרה זה, הפעולה מפעילה יישום עם Run הפקודה. החסימה return מסתיימת עם בסוף. ניתן לבצע מספר פעולות כלשהו לפני ה- return. כולם יורים ברצף.

בדיוק ככה, הגדרת מיפוי מפתח לפעולה פשוט. אתה יכול למקם כמה שיותר מאלה שאתה רוצה .ahk בקובץ ולהגדיר אותו לרוץ ברקע, תמיד מחפש מקשי קיצור למיפוי מחדש.

מקשי קיצור ושינויים

תוכל למצוא רשימה מלאה של המשתנים של AHK בתיעוד רשמי, אך אנו נתמקד בתכונות השימושיות ביותר (והמגניבות).

מקשי שינוי כוללים ליקוטי תווים בודדים. לדוגמה, # ! ^ +הם Windows, Alt, Control ו- Shift, בהתאמה. ניתן גם להבדיל בין שמאל וימין Alt, Control ו- Shift עם <ו- >modifiers, מה שפותח הרבה מקום למקשי קיצור נוספים. לדוגמה, + נכון Shift. התבונן ברשימת המפתחות עבור כל מה שאתה יכול להפנות אליו. (ספוילר: אתה יכול להפנות כמעט לכל מקש. אתה יכול אפילו להפנות להתקני קלט אחרים שאינם מקלדת עם סיומת קטנה).

אתה יכול לשלב כמה מקשים שתרצה במקש קיצור אחד, אך בקרוב ייגמרו לך שילובי המקשים לזכור. כאן נכנסים מכניסים, המאפשרים לך לעשות דברים מטורפים יותר. בוא נפרט דוגמה ממסמכי AHK:

הירוק #IfWinActiveנקרא  הנחיה , ומחיל הקשר נוסף על מקשי קיצור פיזית שמתחתיו בתסריט. כל מקשי קיצור אחריו יופעל רק אם התנאי אמיתי, ותוכל לקבץ מספר מקשי קיצור תחת הנחיה אחת. הנחיה זו לא תשתנה עד שתגיע להנחיה אחרת, אך תוכל לאפס אותה עם ריק #If(ואם זה נראה כמו פריצה, ברוך הבא ל- AHK).

ההנחיה כאן בודקת אם חלון ספציפי פתוח, המוגדר על ידי ahk_class Notepad. כאשר AHK מקבל את הקלט "Win + C", הוא יפעיל את הפעולה תחת הראשונה #IfWinActive רק אם ההנחיה תשוב נכון, ואז תבדוק את השנייה אם לא. ל- AHK יש הרבה הנחיות ותוכלו למצוא את כולן במסמכים.

ל- AutoHotkey יש גם מיתרים חמים, שמתפקדים כמו מקשי קיצור מלבד החלפת מחרוזת טקסט שלמה. זה דומה לאופן שבו התיקון האוטומטי עובד - למעשה, יש סקריפט תיקון אוטומטי ל- AHK - אך תומך בכל פעולה של AHK.

המיתר החם יתאים למחרוזת רק אם הוא הוקלד במדויק. זה גם יסיר באופן אוטומטי את הטקסט המותאם כדי להחליף את המיתר החם, אם כי ניתן להתאים התנהגות זו.

פעולות

פעולה ב- AHK היא כל מה שיש לו השפעה חיצונית על מערכת ההפעלה. ל- AHK יש הרבה פעולות. אנחנו לא יכולים להסביר את כולם, אז נבחר כמה שימושי.

  • שליחת קלט, בין אם מדובר בטקסט או בלחיצות כפתור שונות.
  • להזיז את העכבר מסביב. למעשה, AHK לפעמים מסומנת בטעות כתוכנת רמאות למשחקי וידיאו, מכיוון שאנשים הפכו באמצעותה איימבוטים בתפקוד מלא.
  • לחיצה על העכבר, עם מיקום יחסית לחלון הנוכחי.
  • מציג תפריטי דו-שיח עם טפסים ושדות קלט.
  • העברת חלונות, התאמת גודל ופתיחה וסגירה.
  • מנגן מוזיקה.
  • כתיבה לרישום Windows. כן באמת.
  • שינוי תוכן הלוח.
  • קריאה וכתיבה של קבצים. אתה יכול לגלוש דרך קבצים ולהפעיל פעולות בכל שורה. AHK יכול אפילו לכתוב .ahk לקבצים ולהתאים קוד משלו.

לרוב הפעולות הללו יהיו גם פקודות מכוונות מידע המשויכות אליהן. לדוגמה, אתה יכול לכתוב ללוח, אך אתה יכול גם לגרום לתוכן הלוח לאחסן במשתנים ולהפעיל פונקציות כאשר הלוח משתנה.

קשירת הכל עם מבני בקרה

AHK לא יהיה מה שיש בלי כל מבני הבקרה ההופכים אותו לטיורינג שלם.

בנוסף #Ifלהוראות, יש לך גם גישה If לחסימות פעולה. יש AHK For לולאות, בלוקי סד מתולתלים, Try ואת Catchהצהרות, ועוד רבים אחרים. אתה יכול לגשת לנתונים חיצוניים מתוך בלוק הפעולה, ולאחסן אותם במשתנים או אובייקטים לשימוש מאוחר יותר. ניתן להגדיר פונקציות ותוויות מותאמות אישית. באמת, כל דבר שתוכלו לעשות בקלות בשפת תכנות אחרת, תוכלו כנראה לעשות ב- AHK עם קצת כאב ראש ומבט דרך המסמכים.

לדוגמא, דמיין שיש לך משימה משעממת וחוזרת על עצמה שדורשת ממך ללחוץ על מספר כפתורים ברצף ולחכות לשרת שיגיב לפני שתעשה זאת שוב ואינפיניטי. אתה יכול להשתמש ב- AHK כדי להפוך את זה לאוטומטי. אתה רוצה להגדיר כמה לולאות כדי להזיז את העכבר למיקומים ספציפיים, לחץ ואז לעבור למקום הבא ולחץ שוב. זרוק כמה הצהרות המתנה כדי שלא יישבר. אתה יכול אפילו לנסות לקרוא את צבע הפיקסלים על המסך כדי לקבוע מה קורה.

דבר אחד בטוח - התסריט שלך כנראה לא יהיה יפה. אבל גם AutoHotkey לא, וזה בסדר.