كيفية كتابة برنامج نصي AutoHotkey

AutoHotkey هو برنامج رائع ولكنه معقد. كان القصد منه في البداية إعادة ربط مفاتيح الاختصار المخصصة بإجراءات مختلفة ولكنها الآن مجموعة كاملة من أنظمة التشغيل الآلي لنظام Windows.

ليس من الصعب تعلم AHK للمستخدمين الجدد بشكل خاص ، حيث أن المفهوم العام بسيط إلى حد ما ، لكنه لغة برمجة Turing كاملة. سوف تلتقط بناء الجملة بشكل أسهل إذا كان لديك خلفية برمجة أو كنت على دراية بالمفاهيم.

تثبيت واستخدام AutoHotkey

عملية تثبيت AutoHotkey مباشرة. قم بتنزيل برنامج التثبيت من الموقع الرسمي وقم بتشغيله. اختر "التثبيت السريع". بعد تثبيت البرنامج ، يمكنك النقر بزر الماوس الأيمن في أي مكان وتحديد New> AutoHotkey Script لإنشاء برنامج نصي جديد.

نصوص AHK هي ملفات نصية .ahk بامتداد. إذا قمت بالنقر بزر الماوس الأيمن فوقها ، فستحصل على بعض الخيارات:

  • سيقوم "Run Script" بتحميل البرنامج النصي الخاص بك مع وقت تشغيل AHK.
  • سيقوم "Compile Script" بتجميعه مع 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 على التوالي. يمكنك أيضا التفريق بين البديل اليسار واليمين، تحكم، والتحول مع <و >المعدلات، الذي يفتح الكثير من الغرفة لمفاتيح التشغيل السريع إضافية. على سبيل المثال ، + هو مفتاح Shift الصحيح. ألق نظرة على القائمة الرئيسية لكل شيء يمكنك الرجوع إليه. (Spoiler: يمكنك الإشارة إلى كل مفتاح تقريبًا. يمكنك حتى الإشارة إلى أجهزة الإدخال الأخرى التي لا تستخدم لوحة المفاتيح بامتداد صغير).

يمكنك دمج أي عدد تريده من المفاتيح في مفتاح اختصار واحد ، ولكن سرعان ما تنفد مجموعات المفاتيح التي يجب تذكرها. هذا هو المكان الذي تدخل فيه المُعدِّلات ، التي تتيح لك القيام بأشياء أكثر جنونًا. لنفصل مثالاً من مستندات AHK:

#IfWinActiveيُطلق على  اللون الأخضر توجيهًا ، ويطبق سياقًا إضافيًا على مفاتيح الاختصار فعليًا تحته في البرنامج النصي. سيتم تنشيط أي مفتاح تشغيل سريع بعده فقط إذا كانت الحالة صحيحة ، ويمكنك تجميع عدة مفاتيح تشغيل سريع تحت توجيه واحد. لن يتغير هذا التوجيه حتى تصل إلى توجيه آخر ، ولكن يمكنك إعادة تعيينه بفارغ #If(وإذا كان هذا يبدو وكأنه اختراق ، مرحبًا بك في AHK).

التوجيه هنا هو التحقق مما إذا كانت نافذة معينة مفتوحة ، محددة بواسطة ahk_class Notepad. عندما يتلقى AHK الإدخال "Win + C" ، فإنه سيطلق الإجراء تحت الأول #IfWinActive فقط إذا عاد التوجيه صحيحًا ، ثم تحقق من الثاني إذا لم يكن كذلك. لدى AHK الكثير من التوجيهات ، ويمكنك العثور عليها جميعًا في المستندات.

يحتوي AutoHotkey أيضًا على سلاسل تشغيل تعمل مثل مفاتيح الاختصار باستثناء استبدال سلسلة كاملة من النص. هذا مشابه لكيفية عمل التصحيح التلقائي - في الواقع ، هناك نص برمجي للتصحيح التلقائي لـ AHK - ولكنه يدعم أي إجراء AHK.

سيطابق hotstring السلسلة فقط إذا تمت كتابتها بالضبط. سيقوم تلقائيًا بإزالة النص المطابق لاستبدال سلسلة hotstring أيضًا ، على الرغم من إمكانية تعديل هذا السلوك.

أجراءات

الإجراء في AHK هو أي شيء له تأثير خارجي على نظام التشغيل. AHK لديه الكثير من الإجراءات. لا يمكننا تفسيرها جميعًا ، لذلك سنختار بعضًا منها مفيدًا.

  • إرسال الإدخال ، سواء كان نصًا أو ضغطات زر متنوعة
  • تحريك الفأرة. في الواقع ، يتم أحيانًا تمييز AHK عن طريق الخطأ على أنه برنامج غش لألعاب الفيديو ، نظرًا لأن الأشخاص قد صنعوا روبوتات تعمل بشكل كامل معها.
  • النقر بالماوس مع تحديد الموضع بالنسبة إلى النافذة الحالية.
  • عرض قوائم الحوار ، كاملة مع النماذج وحقول الإدخال.
  • تحريك النوافذ وتعديل الحجم والفتح والإغلاق.
  • عزف الموسيقى.
  • الكتابة إلى سجل Windows. نعم حقا.
  • تعديل محتويات الحافظة.
  • قراءة وكتابة الملفات. يمكنك تكرار الملفات وتشغيل الإجراءات على كل سطر. يمكن لـ AHK الكتابة إلى .ahk الملفات وتعديل الكود الخاص بها.

سيكون لمعظم هذه الإجراءات أيضًا أوامر موجهة للمعلومات مرتبطة بها. على سبيل المثال ، يمكنك الكتابة إلى الحافظة ، ولكن يمكنك أيضًا الحصول على محتويات الحافظة لتخزينها في متغير وتشغيل الوظائف عندما تتغير الحافظة.

ربط كل ذلك بهياكل التحكم

لن يكون AHK على ما هو عليه بدون كل هياكل التحكم التي تجعله Turing كاملًا.

بالإضافة إلى #Ifالتوجيهات ، يمكنك أيضًا الوصول إلى If داخل كتل الإجراءات. AHK ديه For الحلقات، وكتل متعرج، Try و Catchالبيانات، وغيرها الكثير. يمكنك الوصول إلى البيانات الخارجية من داخل كتلة الإجراء ، وتخزينها في متغيرات أو كائنات لاستخدامها لاحقًا. يمكنك تحديد الوظائف والتسميات المخصصة. حقًا ، أي شيء يمكنك القيام به بسهولة بلغة برمجة أخرى ربما يمكنك القيام به في AHK مع القليل من الصداع وإلقاء نظرة على المستندات.

على سبيل المثال ، تخيل أن لديك مهمة مملة ومتكررة تتطلب منك النقر فوق أزرار متعددة في صف وانتظار استجابة الخادم قبل القيام بذلك مرة أخرى بلا حدود. يمكنك استخدام AHK لأتمتة هذا. قد ترغب في تحديد بضع حلقات لتحريك الماوس إلى مواقع محددة ، والنقر ، ثم الانتقال إلى المكان التالي والنقر مرة أخرى. قم بإلقاء بعض عبارات الانتظار حتى لا تنكسر. يمكنك حتى محاولة قراءة لون البكسل على الشاشة لتحديد ما يحدث.

هناك شيء واحد مؤكد - ربما لن يكون النص الخاص بك جميلًا. لكن AutoHotkey ليس كذلك ، ولا بأس بذلك.