الصفحة الرئيسية » howto » كيفية توفير الوقت عن طريق أتمتة المهام الشاقة مع AutoHotkey

    كيفية توفير الوقت عن طريق أتمتة المهام الشاقة مع AutoHotkey

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

    ملحوظة: هذا المثال بالذات هو مثال حقيقي استخدمته في وقت سابق من اليوم لتوفير قدر ضئيل من الوقت ، ولكن هذه التقنيات التي استخدمتها عدة مرات على مر السنين حتى أنقذ نفسي بنفسه أيامًا من الزمن.

    السيناريو

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

    بدلاً من القيام بذلك ، قمت بإنشاء نص AutoHotkey جديد وقمت بسرعة بكتابة برنامج نصي للقيام بالعمل نيابة عني.

    كانت الخطوة الأولى هي تحديد النقرات والمفاتيح التي أحتاج إليها لأتمتة - من الواضح أن الخطوة الأولى هي النقر على زر X ، والذي يظهر مربع حوار تأكيد Ajax:

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

    خلق البرنامج النصي

    أول شيء سنرغب في فعله هو إنشاء حلقة تكرر نفس الإجراءات لعدد من المرات - في هذه الحالة ، نحن نقدر أننا سنحتاج إلى تكرار هذا 300 مرة ، لذا سنستخدم الحلقة بناء الجملة من هذا القبيل:

    حلقة 300

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

    حلقة 300

    انقر

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

    حلقة 300

    انقر
    إرسال، الفضاء

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

    إرسال واختبار Space

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

    حلقة 300

    النوم 3000
    انقر
    النوم 3000
    إرسال، الفضاء

    الآن لدينا برنامج نصي يقوم بحذف العناصر بنجاح ، وينتظر 3 ثوان قبل أن يبدأ ، بحيث يمكنك تحريك مؤشر الماوس فوق X الأول ، والنقر على الزر ، والانتظار لمدة 3 ثوان ، وضرب شريط Space ، ثم الانتظار 3 ثوان قبل أن يمر من خلال المجموعة التالية. يمكنك استخدام هذا البرنامج النصي البسيط الآن إذا أردت ، ولكن ماذا إذا كنت تريد إيقاف البرنامج النصي?

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

    GetKeyState، state، F8
    إذا كانت الدولة = د
    استراحة

    السيناريو النهائي

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

    حلقة 300

    GetKeyState، state، F8
    إذا كانت الدولة = د
    استراحة
    النوم 3000
    انقر
    النوم 3000
    إرسال ، الفضاء

    إرجاع

    لتوضيح كيفية عمل ذلك عمليًا ، إليك مقطع فيديو سريع يوضح ذلك أثناء العمل:

    في هذا السيناريو بالذات ، استغرق الأمر مني حوالي 3 دقائق لإلقاء وقت العمل النصي المحفوظ: 27 دقيقة. فقط ما يكفي من الوقت لتسجيل الفيديو وكتابة هذا المقال!