إنتقل إلى المحتوى الرئيسي

الخطوات والبرنامج النصي وAutoHotkey

يمكن كتابة ما يفعله الإجراء بثلاث طرق. يختار مكتوب بصيغة، في البطاقة ما يفعله في صفحة الإجراءات، الطريقة التي تعمل.

ما يفعله
مكتوب بصيغة
خطواتبرنامج نصيAutoHotkey
يحتفظ كل وضع بمحتواه الخاص. يتم تشغيل الوضع المحدد فقط.
الصيغةما هياخترها عندما
خطواتقائمة من الخطوات تختارها وتملؤها، صف لكل خطوة. لا تعليمات برمجية لكتابتها.تريد بناء الإجراء دون كتابة تعليمات برمجية. تناسب معظم الإجراءات: إرسال مفاتيح، أو كتابة نص، أو نقل نوافذ أو إغلاقها، أو الانتظار، أو طرح سؤال.
برنامج نصيلغة البرامج النصية الخاصة بـ Input.Observer، تُكتب في محرر تعليمات برمجية.تحتاج إلى عمليات حسابية، أو بناء نص من أجزاء، أو حلقات تعدّ بمتغير، أو أي شيء لا تستطيع الخطوات التعبير عنه.
AutoHotkeyبرنامج نصي لـ AutoHotkey v2، يشغّله AutoHotkey نفسه.لديك بالفعل تعليمات برمجية لـ AutoHotkey، أو تحتاج إلى شيء لا يفعله إلا AutoHotkey.

تعمل الخطوات والبرنامج النصي داخل Input.Observer وتستدعيان الدوال المضمَّنة نفسها: الخطوات طريقة مرئية لكتابة ما سيكتبه البرنامج النصي. راجع الخطوات ومرجع لغة البرامج النصية.

تحتفظ كل صيغة بمحتواها الخاص​

يحتفظ الإجراء بمتن للخطوات ومتن للبرنامج النصي ومتن لـ AutoHotkey جنبًا إلى جنب. يغيّر تبديل مكتوب بصيغة ① المتن الذي يعمل. ولا يحذف المتون الأخرى أبدًا، لذا يمكنك التبديل مرة أخرى.

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

التبديل من الخطوات إلى البرنامج النصي​

عندما تبدّل من خطوات إلى برنامج نصي وفي الإجراء خطوات ومتن البرنامج النصي فارغ، يعرض Input.Observer ترجمة الخطوات: هل تريد تحويل الخطوات إلى برنامج نصي؟ اختر تحويل لوضع الترجمة في محرر البرامج النصية.

  • تبقى الخطوات كما هي. ويعرضها التبديل مرة أخرى إلى خطوات دون تغيير.
  • لا يتحول شيء في الاتجاه المعاكس. لا يمكن تحويل برنامج نصي إلى خطوات.
  • الخطوات التي تستخدم التكرار ما دام… أو التكرار حتى… أو الخروج من الحلقة أو إيقاف الخطوات لا تُعرض ترجمتها، لأنه ليس في البرنامج النصي عبارات مقابلة. ولا يزال بإمكانك التبديل؛ لكن متن البرنامج النصي يبدأ فارغًا.
  • لا يُحوَّل أبدًا إلى AutoHotkey أو منه.
  • عندما تكون الخطوات تسجيلًا من صفحة المسجِّل، يذكر مربع الحوار أيضًا أن البرنامج النصي يتجاهل سرعة إعادة التشغيل وتفاصيل مسار الماوس عند إعادة التشغيل: تعمل فترات انتظاره بالسرعة المسجَّلة وتُعاد كل حركة ماوس مسجَّلة (إعدادات المسجِّل).

تعرض من الخطوات إلى البرنامج النصي ما يصبح عليه كل نوع من الخطوات.

AutoHotkey​

AutoHotkey برنامج منفصل يبدؤه Input.Observer عندما يعمل إجراء AutoHotkey. وهو غير مضمَّن؛ تثبّت AutoHotkey v2 بنفسك وتخبر Input.Observer بمكانه.

  1. ثبّت AutoHotkey v2.
  2. في صفحة عام، فعّل تمكين AutoHotkey واضبط الملف التنفيذي لـ AutoHotkey على ملف برنامجه، مثل AutoHotkey64.exe.
  3. يظهر الآن AutoHotkey تحت مكتوب بصيغة. طبّق تغييراتك لكي يستخدم المحرك الإعداد الجديد.

القواعد:

  • لا يُعرض AutoHotkey تحت مكتوب بصيغة إلا ما دام تمكين AutoHotkey مفعّلًا، أو عندما يعمل الإجراء بالفعل كـ AutoHotkey. وإجراء AutoHotkey مع إيقاف AutoHotkey لا يفعل شيئًا، وتذكر الصفحة ذلك.
  • استخدم إصدارًا عاديًا من AutoHotkey. الإصدارات التي في اسمها _UIA، مثل AutoHotkey64_UIA.exe، لا يمكنها تشغيل البرامج النصية من Input.Observer.
  • عندما يكون AutoHotkey مفعّلًا لكن يتعذّر العثور على برنامجه عند البدء أو عند إعادة تحميل التكوين، يطلب منك Input.Observer استعراض الملف التنفيذي لـ AutoHotkey أو ترك الوضع كما هو.
  • يبدأ كل تشغيل عملية AutoHotkey جديدة ببرنامجك النصي. ولا يمكنها استدعاء الدوال المضمَّنة في Input.Observer، وتعمل حتى تنتهي من تلقاء نفسها؛ وينهيها مفتاح اختصار إيقاف كل الإجراءات.
  • قبل برنامجك النصي، يضبط Input.Observer متغيرات تصف المشغِّل، مثل IO_ActionName وIO_TriggerKind ونافذة الإيماءة أو مفتاح الاختصار (متغيرات AutoHotkey). وتعرض قائمة المتغيرات المتاحة هنا في المحرر المتغيرات التي توفرها مشغِّلات الإجراء؛ انقر على أحدها لإدراجه.
  • ما يكتبه البرنامج النصي في مخرجاته القياسية يظهر في وحدة التحكم التشخيصية، بادئًا بـ AHK: (وحدة التحكم التشخيصية).

يمكن لإجراء خطوات أو برنامج نصي أيضًا تشغيل جزء من تعليمات AutoHotkey البرمجية بالدالة المضمَّنة AutoHotkeyExecuteScript. وينطبق الإعداد نفسه والملف التنفيذي نفسه.

متغيرات AutoHotkey​

يبدأ كل تشغيل لـ AutoHotkey ببضعة أسطر يضيفها Input.Observer قبل برنامجك النصي، تضبط متغيرات IO_ مما شغّل الإجراء. وينطبق هذا على الإجراء المكتوب كـ AutoHotkey وعلى التعليمات البرمجية المشغَّلة بـ AutoHotkeyExecuteScript، التي تحصل على متغيرات الإجراء الذي استدعاها.

كل تشغيل يضبط هذه الثلاثة:

المتغيريحمل
IO_ActionNameاسم الإجراء. بالنسبة إلى حدث عام، Global_Event_ متبوعًا باسم الحدث في ملف التكوين، مثل Global_Event_release أو Global_Event_foreground_changed. ويكون فارغًا عندما لا يشغّل شيء التشغيل، مثل برنامج نصي يُشغَّل من وحدة التحكم.
IO_AppGroupNameاسم مجموعة التطبيقات التي وُجد فيها الإجراء، مثل Global. ويكون فارغًا للحدث العام.
IO_TriggerKindما شغّل التشغيل: Gesture أو Hotkey أو TextExpansion أو MouseButton (حدث عام لزر ماوس أو تحرير زر الرسم) أو Wheel (حدث عام للعجلة) أو None.

البقية تعتمد على المشغِّل، ولا تُضبط إلا متغيرات ذلك المشغِّل:

المشغِّلالمتغيريحمل
الإيماءةIO_GestureWindowالنافذة التي بدأت الإيماءة فوقها
IO_GestureButtonزر الرسم: left أو right أو middle أو x1 أو x2
IO_GestureStartX، IO_GestureStartYمكان بدء الضربة
IO_GestureEndX، IO_GestureEndYمكان انتهائها
IO_GestureBoundsLeft، IO_GestureBoundsTop، IO_GestureBoundsRight، IO_GestureBoundsBottomالمستطيل المحيط بالضربة كلها
IO_GesturePointsكل نقطة في الضربة بترتيب الرسم، كمصفوفة من مصفوفات [x, y]
مفتاح الاختصارIO_HotkeyWindowالنافذة الموجودة في المقدمة عند ضغط مفتاح الاختصار
IO_HotkeyVkCodeرمز المفتاح الظاهري في Windows للمفتاح الأخير، مثل 75 لـ K
IO_HotkeyModifiersمفاتيح التعديل في المجموعة، مجموعةً معًا: Ctrl 1، Shift 2، Alt 4، Win 8 (Ctrl+Alt هو 5)
توسيع النصIO_TextExpansionWindowالنافذة التي كتبت فيها
IO_TextExpansionPatternالاختصار الذي كتبته
حدث زر الماوسIO_MouseWindowالنافذة الواقعة تحت المؤشر
IO_MouseButtonالزر: left أو right أو middle أو x1 أو x2
IO_MouseX، IO_MouseYمكان المؤشر
حدث العجلةIO_WheelWindowالنافذة الواقعة تحت المؤشر
IO_WheelDeltaمقدار دوران العجلة، كما يبلغ عنه Windows: 120 لدرجة واحدة من عجلة عادية (ترسل العجلات ذات التمرير السلس ولوحات اللمس خطوات أصغر)، موجب بعيدًا عنك (أو إلى اليمين)، وسالب نحوك (أو إلى اليسار)
IO_WheelHorizontaltrue للف العجلة جانبيًا، وfalse للف العادي
IO_WheelX، IO_WheelYمكان المؤشر
  • النوافذ مقابض نوافذ، أرقام يقرؤها AutoHotkey كمعرّف نافذة: "ahk_id " IO_GestureWindow يسمّي النافذة في WinActivate وWinGetTitle ودوال النوافذ الأخرى.
  • المواضع إحداثيات شاشة بالبكسل الفعلي، من الزاوية العلوية اليسرى للشاشة الرئيسية. اضبط CoordMode "Mouse", "Screen" قبل استخدامها مع دوال الماوس في AutoHotkey، التي تعمل في غير ذلك بالنسبة إلى النافذة النشطة.
  • النص يصل تمامًا كما كان؛ وتُهرَّب نيابةً عنك علامات الاقتباس والعلامات المائلة العكسية وفواصل الأسطر في اسم إجراء أو مجموعة.
  • المتغير الذي لا يوفره المشغِّل لا يُضبط على الإطلاق، ويوقف AutoHotkey البرنامج النصي عندما يقرأ متغيرًا غير مضبوط. والإجراء الذي له عدة أنواع من المشغِّلات، أو المقتطف المستدعى من إجراءات مختلفة، يجب أن يفحص IO_TriggerKind أولًا، أو يستخدم IsSet(IO_GestureWindow).

مثلًا، إجراء يعمل من إيماءة أو مفتاح اختصار، يحضر النافذة التي استُخدم عليها إلى المقدمة ويعرض عنوانها:

CoordMode "Mouse", "Screen"
win := IO_TriggerKind = "Gesture" ? IO_GestureWindow : IO_HotkeyWindow
WinActivate "ahk_id " win
MsgBox WinGetTitle("ahk_id " win), IO_ActionName

محركات البرامج النصية من المكونات الإضافية​

يمكن لمكوّن إضافي أن يضيف محرك برامج نصية خاصًا به. عندئذٍ يظهر تحت مكتوب بصيغة باسم المكوّن الإضافي، ويذهب النص الذي تكتبه هناك إلى المكوّن الإضافي تمامًا كما كُتب؛ ولا يفحصه Input.Observer. وإذا لم يوفر أي مكوّن إضافي قيد التشغيل ذلك المحرك، تحذّر الصفحة من أن الإجراء يُتخطى عند تشغيله. راجع المكونات الإضافية.

في الوضع البسيط​

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