لا شك أن برنامج AutoHotkey يُعد من
أقدم وأشهر أدوات الأتمتة
مفتوحة المصدر على
نظام ويندوز. منذ انطلاقه كمشروع بسيط عام 2003، تطوّر ليُصبح أداة قوية توفر
لغة برمجة نصية
مرنة تُمكّنك من
إنشاء سكربتات تقوم بأتمتة المهام
اليومية أو تخصيص
تجربة استخدام ويندوز
بالكامل بحسب احتياجاتك. ورغم أن البرنامج مجاني تمامًا، إلا أنه لا يأتي مع
سكربتات جاهزة؛ بل يتطلب بعض الجهد في كتابة السكربتات أو البحث عن أفكار جاهزة
يمكن أن تُحدث فرقًا حقيقيًا في طريقة
تفاعلك مع الكمبيوتر. ولتوفير هذا الجهد، جمعنا لك في هذا المقال مجموعة سكربتات رائعة والتي ننصحك
بتجربتها لما تقدّمه من وظائف ذكية تختصر الوقت وتزيد الإنتاجية.
استخدامات برنامج AutoHotkey
كيفية إنشاء سكربتات AutoHotkey
في البداية، ستحتاج إلى تحميل برنامج AutoHotkey على جهازك عبر الموقع الرسمي، مع العلم أن البرنامج يدعم جميع إصدارات نظام ويندوز، بما في ذلك الإصدارات
القديمة جدًا. ولكن ستلاحظ وجود إصدارين متاحين من البرنامج: الإصدار الأول V1.1، والإصدار
الثاني V2.0 وهو الأحدث. يجدر التنويه إلى أن السكربتات المصممة للإصدار الأول لن تعمل مع الإصدار الثاني، والعكس صحيح. وبالتالي، يُنصح بتثبيت كلا الإصدارين
على جهازك لضمان تشغيل جميع السكربتات بسلاسة دون أي مشاكل في التوافق. وبعد
تثبيت البرنامج، سيبدأ دوره في تشغيل أي سكربت يحمل صيغة "AHK" وبالتالي لن يقوم بأي وظيفة ما لم يكن هناك سكربت جاهز للتنفيذ. في هذه
الحالة، يمكنك إما تحميل سكربتات جاهزة من الإنترنت أو إنشاء سكربتات من الصفر.
لإنشاء سكربت جديد، ما عليك سوى الضغط كليك يمين في أي مكان على سطح المكتب، ثم
توجيه المؤشر إلى خيار "New" واختيار "AutoHotkey Script". بعدها ستظهر نافذة
لتسمية السكربت، ثم اضغط على زر Edit لاختيار البرنامج الذي ستستخدمه في تحرير
السكربت. وإذا لم يكن لديك برنامج مخصص لتحرير الأكواد البرمجية، يمكنك ببساطة
استخدام أداة Notepad المُثبتة مسبقًا على نظام ويندوز لإنشاء وتعديل السكربتات
بكل سهولة.
بعد إنشاء أي سكربت، كل ما عليك فعله هو النقر عليه مزدوجًا ليبدأ التشغيل في
الخلفية، حيث يترقب تنفيذ الأمر المحفز أو الـTrigger لبدء مهمة محددة، مثل تشغيل
برنامج معيّن عند الضغط على زر محدد في لوحة المفاتيح. لدينا أفكار رائعة أدناه
يمكن تنفيذها باستخدام هذا البرنامج، لكن هناك نقطة مهمة قد لا ينتبه لها البعض:
إذا كنت ترغب في تشغيل بعض السكربتات تلقائيًا عند بدء تشغيل الكمبيوتر، حتى لا
تضطر لتشغيلها يدويًا في كل مرة، ستحتاج ببساطة إلى إضافة ملف السكربت إلى مجلد
Startup في ويندوز، والذي يمكن الوصول إليه بسرعة عن طريق كتابة الأمر [shell:startup] في شريط البحث ضمن قائمة Start.
سكربتات AutoHotkey تستحق التجربة
إنشاء اختصارات للنصوص المكررة
تناولنا في موضوع سابق ترشيحات لأدوات تساعدك على إنشاء اختصارات للنصوص التي تكتبها بشكل متكرر بحيث يمكن استحضارها بسرعة، فالفكرة هنا ببساطة هي استبدال الاختصارات القصيرة تلقائيًا بنص أطول أثناء الكتابة. يمكن فعل نفس الشيء أيضًا باستخدام سكربت بسيط عبر برنامج AutoHotkey. إذ كل ما عليك هو إنشاء سكربت جديد بأي اسم – وليكن TextExpander – ثم في أداة التحرير تقوم بإدخال نقطتان رأسيتان بشكل مزدوج على هذا النحو (::) ومن ثم تكتب الاختصار المكون من بضعة حروف، ثم إضافة مزدوج النقطتان الرأسيتان لتكتب النص الطويل الذي تريد أن يتم إدخاله عند كتابة الاختصار. لاحظ انه لا توجد مسافات في الكود، ولكن يمكنك تكرار نفس النص على نحو متوازي لكل اختصار جديد. [كما موضح في الصورة أعلاه]
عرض أو إظهار الملفات المخفية بسرعة
يمكن إظهار أو عرض الملفات المخفية في نظام ويندوز عن طريق إعدادات File Explorer ولكن إذا كنت تحتاج فعل ذلك بشكل متكرر، يمكنك إنشاء هذا السكربت البسيط عبر برنامج AutoHotkey بحيث إذا ضغطت على اختصار Ctrl + F2 أثناء فتح نافذة File Explorer يتم إظهار الملفات المخفية، وباستخدام نفس الاختصار يتم إلغاء ظهور الملفات المخفية بشكل سريع:
^F2:: ; Ctrl + F2ToggleHiddenFiles()returnToggleHiddenFiles() {RegRead, currentSetting, HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hiddenif (currentSetting = 2) {; Show hidden filesRegWrite, REG_DWORD, HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden, 1} else {; Hide hidden filesRegWrite, REG_DWORD, HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, Hidden, 2}; Refresh Explorer to apply changesPostMessage, 0x111, 41504,,, ahk_class CabinetWClassPostMessage, 0x111, 41504,,, ahk_class ExploreWClass}
إجراء بحث سريع على جوجل
إذا كنت ممن يعتمدون على جوجل في البحث بشكل متكرر، فإليك هذا السكربت البسيط ولكنه مفيد للغاية، حيث يتيح لك إجراء بحث مباشر في جوجل عن أي نص قمت بنسخه أو تحديده على جهازك دون الحاجة إلى نسخ ولصق النص يدويًا كل مرة. فقط حدد النص الذي تريد استخدامه للبحث، ثم اضغط على Ctrl + Shift + C، وسيتم تلقائيًا فتح متصفحك الافتراضي والبحث عن النص المحدد بعدما يتم نسخه — طريقة ذكية لتوفير الوقت وتسهيل الوصول إلى المعلومات:
^+c::{Send, ^cSleep 50Run, https://www.google.com/search?q=%clipboard%Return}
عرض إشعار اكتمال شحن البطارية
يعُد فصل الشاحن عن اللابتوب بمجرد اكتمال شحن البطارية بنسبة 100% من الممارسات التي تساعد في إطالة عمر البطارية وتجنب إهدارها بشكل سريع. هذا الأمر قمنا بتناوله من قبل في موضوع جعل ويندوز يصدر صوت تنبيه عند اكتمال شحن اللابتوب ولكن إذا كنت تبحث عن طريقة بسيطة لتنبيهك بفصل الشاحن عند اكتمال شحن البطارية، فإن سكربت AutoHotkey التالي يفعل ذلك تمامًا:
#PersistentSetTimer, CheckBattery, 60000 ; Check every 60 secondsreturnCheckBattery:BatteryLevel := GetBatteryLevel()ChargingStatus := GetChargingStatus(); Low battery warning (customize the threshold if needed)if (BatteryLevel < 20 && ChargingStatus = "Discharging") {TrayTip, Battery Warning ⚠️, Battery is low: %BatteryLevel%`%, 10, 1}; Fully charged notificationif (BatteryLevel >= 98 && ChargingStatus = "Charging") {TrayTip, Battery Info ✅, Battery is fully charged (%BatteryLevel%`%), 10, 1}returnGetBatteryLevel() {objWMIService := ComObjGet("winmgmts:\\.\root\cimv2")colItems := objWMIService.ExecQuery("Select * from Win32_Battery")for item in colItemsreturn item.EstimatedChargeRemainingreturn -1}GetChargingStatus() {objWMIService := ComObjGet("winmgmts:\\.\root\cimv2")colItems := objWMIService.ExecQuery("Select * from Win32_Battery")for item in colItems {if (item.BatteryStatus = 2)return "Charging"else if (item.BatteryStatus = 1)return "Discharging"elsereturn "Unknown"}return "Unknown"}
يمكنك إنشاء السكربت وتشغيله للعمل دائمًا في الخلفية ومراقبة مستوى شحن اللابتوب عبر خاصية "Windows Management Instrumentation" بحيث إذا انخفض المستوى عن 20% يتم عرض إشعار مرئي وصوتي بضرورة توصيل الشاحن وعندما يصل إلى 100% يظهر إشعار آخر بضرورة فصل الشاحن، ويظل الإشعار يظهر كل بضع دقائق حتى تتخذ إجراءً.
عرض إجراءات سريعة للأرقام الهاتفية
تعُد هذه من الاستخدامات الذكية والمفيدة أيضًا لبرنامج AutoHotkey حيث يعمل السكربت التالي على مراقبة الحافظة (Clipboard) أو العناصر التي تقوم بنسخها، بحيث إذا تم اكتشاف نسخ رقم هاتفي، تظهر فورًا قائمة تحتوي على إجراءات سريعة مثل إضافته إلى WhatsApp لبدء دردشة جديدة عبر خدمة WhatsApp Web أو البحث بالرقم على خدمة Truecaller:
#Persistent#NoEnvSetBatchLines, -1DetectHiddenWindows, OnclipboardPrevious := ""SetTimer, CheckClipboard, 500returnCheckClipboard:ClipWait, 0.1currentClipboard := Clipboardif (currentClipboard != clipboardPrevious) {clipboardPrevious := currentClipboardif IsPhoneNumber(currentClipboard) {ShowOptions(currentClipboard)}}returnIsPhoneNumber(text) {cleaned := RegExReplace(text, "[^\d+]") ; remove all non-digit except +return RegExMatch(cleaned, "^\+?\d{7,15}$") ; Basic phone number check}ShowOptions(phone) {Gui, DestroyGui, Add, Text,, Phone number detected: %phone%Gui, Add, Button, gWhatsAppChat w200, Chat on WhatsAppGui, Add, Button, gTruecallerSearch w200, Search on TruecallerGui, Show,, Clipboard Optionsglobal selectedPhone := phone}WhatsAppChat:url := "https://wa.me/" . RegExReplace(selectedPhone, "[^\d]")Run, %url%Gui, DestroyreturnTruecallerSearch:url := "https://www.truecaller.com/search/us/" . RegExReplace(selectedPhone, "[^\d]")Run, %url%Gui, Destroyreturn
ضع في اعتبارك أن هذا السكربت سيعرض قائمة الإجراءات تلقائيًا عند نسخ أي نص يتضمن رقمًا يتراوح طوله بين 7 و15 رقمًا. لذلك، إذا شعرت أن ظهوره المتكرر يسبب إزعاجًا أثناء استخدامك للكمبيوتر، يمكنك ببساطة تعديل نطاق طول الرقم من خلال تعديل الجزء "d{7,15}$" في سطر "return RegExMatch".
غلق النوافذ عبر عجلة الماوس
يمكن تسهيل طريقة غلق البرامج والنوافذ في ويندوز بحيث تتم بضغطة واحدة على زر عجلة الماوس في أي مكان داخل النافذة، وبالتالي لا تضطر إلى تحريك مؤشر الماوس نحو زر Close الموجود في زاوية النافذة في كل مرة تريد إغلاق البرنامج المفتوح. هذا السكربت يفعل ذلك تحديدًا، مع وجود تأخير لمدة أقل من ثانية لمنع الإغلاق العرضي، أي لتجنب إغلاق النافذة فورًا إذا ضغطت على زر عجلة الماوس، بل تحتاج الضغط مطولًا حتى يتم إغلاق النافذة:
~MButton::MouseHoldTime := 0SetTimer, CheckHold, 10return~MButton Up::SetTimer, CheckHold, Offif (MouseHoldTime >= 200) {WinClose, A}returnCheckHold:MouseHoldTime += 10return
اصلاح أخطاء الكتابة بسرعة
يُعتبر هذا الاستخدام من بين أفضل استخدامات برنامج AutoHotkey، حيث يساعدك في تصحيح أخطاء الكتابة الناتجة عن نسيان تغيير لغة لوحة المفاتيح أثناء العمل على الكمبيوتر، ما يؤدي إلى ظهور نص غير مفهوم. بدلًا من حذف النص وإعادة كتابته باللغة الصحيحة، يمكنك ببساطة إعداد سكربت بسيط باستخدام AutoHotkey يتولى هذه المهمة عنك تلقائيًا. كنا قد استعرضنا هذا السكربت سابقًا ضمن مقال يشرح طرق لتصحيح أخطاء تحويل لغة الكيبورد في الكتابة على ويندوز، ويمكنك الرجوع إليه للحصول على الكود الجاهز. يجدر بالذكر أن السكربت يعمل على تصحيح النص عند كتابته بالإنجليزية بدلًا من العربية أو العكس.
التحكم في مستوى الصوت عبر الماوس
سكربت آخر مفيد لتسريع التحكم في مستوى صوت الكمبيوتر، فبدلًا من الاضطرار إلى استخدام أزرار الصوت الموجودة في الكيبورد، أو مؤشر درجة الصوت على شريط المهام في ويندوز، سيساعدك هذا السكربت على رفع أو خفض مستوى الصوت من خلال الماوس فقط. كل ما عليك هو الضغط مطولًا على زر الماوس الأيمن ثم سحب العجلة لأعلى أو لأسفل للتحكم في المستوى:
RButton::Send {RButton}RButton & WheelUp::Send {Volume_Up}RButton & WheelDown::Send {Volume_Down}
عمل حفظ تلقائي داخل البرامج
يحدث أحيانًا أن تفقد التقدم الذي أحرزته في مشروع ما بسبب نسيان عمل Save لحفظ التغييرات التي قمت بها أو نتيجة تعطل الكمبيوتر فجأة أو إنقطاع الكهرباء. لذلك توفر بعض البرامج ميزة الحفظ الآلي التي – عند تفعيلها – تقوم بعمل حفظ تلقائي في الخلفية أثناء التعديل العمل على المشروع سواء كان تعديل وسائط أو كتابة مستند، بحيث لا يفقد المُستخدم التغييرات الجديدة التي يضيفها. ولكن بالنسبة للبرامج التي لا تدعم هكذا خاصية، يمكن باستخدام سكربت AutoHotkey بسيط عمل محاكاة لنفس الميزة في أي برنامج تختاره. تقوم فكرة السكربت على تنفيذ اختصار Ctrl+S تلقائيًا على فترات منتظمة، مما يضمن حفظ التعديلات بشكل دوري دون تدخل منك.
إذً، قم بإنشاء سكربت جديد ثم أضف الكود التالي، والذي سيعمل على تنفيذ الضغط التلقائي على مفتاحي Ctrl و S كل 5 دقائق في برنامج Word و Notepad وأدوبي فوتوشوب:
#PersistentSetTimer, AutoSave, 300000returnAutoSave:IfWinActive ahk_exe WINWORD.EXE ; Microsoft WordSend ^selse IfWinActive ahk_exe notepad.exe ; NotepadSend ^selse IfWinActive ahk_exe Photoshop.exe ; Adobe PhotoshopSend ^sreturn
يمكنك كالعادة إجراء التعديلات التي تناسبك على الكود، فمن خلال سطر "SetTimer, AutoSave" يمكن تحديد الفترة الزمنية بوحدة الميلي ثانية. أو إضافة برامج أخرى عن طريق تكرار سطر "else IfWinActive ahk_exe" مع تحديد اسم الملف التشغيلي للبرنامج (الذي يكون عادًة بصيغة exe.) واسم البرنامج.
كانت هذه بعض من أبرز الأمثلة التي نعتقد أنها مفيدة وتوضح كيف يمكن الاستفادة من برنامج AutoHotkey لتسهيل استخدام الكمبيوتر. ومع ذلك، يظل هناك عدد كبير من الاستخدامات الأخرى التي تشترك جميعها في هدف واحد: جعل تجربة استخدامك للكمبيوتر أكثر راحة. وبالطبع، يسعدنا دائمًا الاطلاع على أفكاركم ومقترحاتكم، لذا لا تترددوا في مشاركتها معنا عبر التعليقات.