اگر هر روز در ویندوز کارهایی مثل باز کردن چند سایت، ساخت پوشه، جستوجوی متن انتخابشده یا تایپ کردن عبارتهای تکراری را انجام میدهید، AutoHotkey میتواند بسیاری از این کارها را با یک میانبر کیبورد خودکار کند.
AutoHotkey یک ابزار رایگان و متنباز برای خودکارسازی ویندوز است و نسخه فعلی شاخه پایدار آن در زمان نگارش این مطلب AutoHotkey v2.0.28 است. ساختار دستورات نسخه ۲ با نسخههای قدیمی تفاوت دارد و کدهای این مقاله بر اساس AutoHotkey v2 نوشته شدهاند.
AutoHotkey چیست و چگونه در ویندوز کار میکند؟
اجرای دستورات ویندوز با میانبرهای اختصاصی
AutoHotkey به شما اجازه میدهد برای کارهای مختلف Hotkey یا میانبر اختصاصی تعریف کنید. با اجرای اسکریپت، AutoHotkey در پسزمینه فعال میماند و با فشردن میانبر مشخصشده، دستور مربوطه را اجرا میکند.
علاوه بر میانبرهای کیبورد، امکان ساخت Hotstring نیز وجود دارد. Hotstring به شما اجازه میدهد چند کاراکتر کوتاه را با یک عبارت طولانیتر جایگزین کنید. این قابلیت برای آدرسها، پاسخهای آماده، کدها و عبارتهایی که زیاد تایپ میکنید بسیار کاربردی است.
نمادهای اصلی در اسکریپتهای AutoHotkey
در AutoHotkey v2 چند نماد برای تعریف کلیدهای ترکیبی استفاده میشود:
- ^ برای Ctrl
- ! برای Alt
- + برای Shift
- # برای Win
- ; برای نوشتن توضیحات داخل کد
به عنوان مثال ^!m یعنی Ctrl + Alt + m .
نصب AutoHotkey و ساخت اولین اسکریپت در ویندوز
چگونه فایل AHK بسازیم؟
ابتدا AutoHotkey v2 را نصب کنید. پس از نصب میتوانید در دسکتاپ یا داخل File Explorer روی فضای خالی راستکلیک کنید و گزینه ایجاد اسکریپت AutoHotkey را انتخاب کنید.
مسیر ایجاد فایل:
Right-click > New > AutoHotkey Script
سپس یک نام برای فایل انتخاب کنید و پسوند .ahk را نگه دارید. با راستکلیک روی فایل و انتخاب گزینه ویرایش میتوانید کد را در Notepad یا ویرایشگر دیگری باز کنید.
بعد از ذخیره فایل با Ctrl + S ، با دوبار کلیک روی آن اسکریپت اجرا میشود. برای اعمال تغییرات بعدی نیز معمولاً باید اسکریپت را دوباره اجرا یا Reload کنید.
چگونه اسکریپت در حال اجرا را مدیریت کنیم؟
پس از اجرای فایل AHK، معمولاً آیکون AutoHotkey در بخش System Tray ویندوز قرار میگیرد. با راستکلیک روی آن میتوانید گزینههایی مانند ویرایش، Reload، توقف موقت Hotkeyها یا خروج از اسکریپت را مشاهده کنید.
این روش برای زمانی مفید است که میخواهید کد را تغییر دهید و بدون بستن کامل برنامه آن را دوباره بارگذاری کنید.
باز کردن چند سایت با یک میانبر AutoHotkey
اجرای همزمان چند سایت با یک کلید میانبر
اگر هر روز چند سایت مشخص را باز میکنید، میتوانید همه آنها را به یک میانبر متصل کنید. تابع Run() برای اجرای برنامهها و باز کردن URLها در AutoHotkey استفاده میشود.
^!w:: {
Run("https://www.google.com")
Run("https://www.reddit.com")
Run("https://www.wikipedia.org")
}
با فشردن Ctrl + Alt + W هر سه سایت با مرورگر پیشفرض باز میشوند.
برای استفاده شخصی، URLهای موجود در کد را با سایتهای مورد نیاز خودتان جایگزین کنید. همچنین میتوانید تعداد خطوط Run() را کم یا زیاد کنید.
ساخت خودکار پوشه روزانه با تاریخ در ویندوز
ایجاد پوشه تاریخدار روی دسکتاپ
اگر برای کارهای روزانه پوشه جداگانه میسازید، AutoHotkey میتواند نام پوشه را از تاریخ روز دریافت کند و آن را به صورت خودکار ایجاد و باز کند.
^!d:: {
folder := FormatTime(, "yyyy-MM-dd")
path := A_Desktop "\" folder
DirCreate(path)
Run(path)
}
با فشردن Ctrl + Alt + D پوشهای مانند 2026-09-16 روی دسکتاپ ساخته و باز میشود.
در این کد:
- FormatTime() تاریخ فعلی را با فرمت مشخص تولید میکند.
- A_Desktop مسیر دسکتاپ کاربر را مشخص میکند.
- DirCreate() پوشه را میسازد.
- Run() پوشه ایجادشده را باز میکند.
اگر میخواهید پوشهها در محل دیگری ساخته شوند، میتوانید A_Desktop را با مسیر دلخواه جایگزین کنید.
به عنوان مثال:
path := "D:\Daily Files\" folder
جستوجوی سریع متن انتخابشده با AutoHotkey
ارسال متن انتخابشده به موتور جستوجو
یکی از کاربردهای مفید AutoHotkey این است که متن انتخابشده را بدون باز کردن دستی نوار جستوجو به Google منتقل کنید.
نسخه بهتر این اسکریپت میتواند قبل از کپی کردن متن، محتوای فعلی Clipboard را نگه دارد و بعد از جستوجو آن را برگرداند تا اطلاعاتی که قبلاً کپی کردهاید از بین نرود:
^+g:: {
savedClipboard := ClipboardAll()
A_Clipboard := ""
Send("^c")
if ClipWait(1) {
query := StrReplace(A_Clipboard, " ", "+")
Run("https://www.google.com/search?q=" query)
}
A_Clipboard := savedClipboard
}
حالا کافی است یک کلمه یا عبارت را انتخاب کرده و Ctrl + Shift + G را فشار دهید.
AutoHotkey متن انتخابشده را کپی میکند و آن را در URL جستوجوی Google قرار میدهد.
اگر بخواهید از موتور جستوجوی دیگری استفاده کنید، کافی است URL مربوط به جستوجوی آن سرویس را تغییر دهید.
چرا ذخیره Clipboard در این اسکریپت مهم است؟
در نسخه سادهتر اسکریپت، اجرای Send("^c") محتوای قبلی Clipboard را جایگزین میکند. اگر قبل از استفاده از میانبر، متن یا فایل مهمی را کپی کرده باشید، ممکن است آن اطلاعات از دست برود.
استفاده از ClipboardAll() باعث میشود محتوای قبلی Clipboard ذخیره و پس از انجام جستوجو بازیابی شود.
تبدیل کلمات کوتاه به متنهای طولانی با Hotstring
تایپ سریع آدرس و عبارتهای تکراری
Hotstring یکی از سادهترین قابلیتهای AutoHotkey است. به جای تعریف یک میانبر ترکیبی، چند کاراکتر را به عنوان Trigger تعیین میکنید و AutoHotkey آنها را با متن دیگری جایگزین میکند.
به عنوان مثال:
::eaddr::123 Example Street, Exampletown
حالا وقتی eaddr را تایپ کرده و بعد از آن Space یا علامت نگارشی بزنید، عبارت کامل جایگزین آن میشود.
میتوانید از این قابلیت برای موارد زیر استفاده کنید:
- آدرس ایمیل
- شماره تلفن
- آدرس سایت
- عبارتهای پرتکرار
- پاسخهای آماده
- کدهای کوتاه
- امضای ایمیل
بهتر است Trigger کوتاه اما غیرمعمولی انتخاب کنید تا هنگام تایپ عادی به صورت تصادفی فعال نشود.
همیشه روی صفحه نگه داشتن پنجرهها با AutoHotkey
فعال کردن Always on Top با یک میانبر
ویندوز در بسیاری از برنامهها گزینه داخلی برای ثابت نگه داشتن پنجره روی سایر پنجرهها ندارد. AutoHotkey میتواند این قابلیت را با یک میانبر به پنجره فعال اضافه کند.
^!t::WinSetAlwaysOnTop(-1, "A")
با فشردن Ctrl + Alt + T پنجره فعال بین حالت عادی و Always on Top جابهجا میشود.
پارامتر -1 باعث Toggle شدن وضعیت میشود و "A" پنجره فعال را مشخص میکند.
این میانبر برای زمانی مفید است که میخواهید یک ماشینحساب، ویدئو، سند یا راهنما هنگام کار با برنامه دیگری همیشه جلوی چشم باقی بماند.
چند اسکریپت AutoHotkey را در یک فایل قرار دهید
مدیریت ساده چند میانبر در یک فایل AHK
لازم نیست برای هر قابلیت یک فایل جداگانه بسازید. میتوانید چند Hotkey و Hotstring را در یک فایل قرار دهید و بین بخشهای مختلف کد یک خط خالی بگذارید.
به عنوان مثال:
^!w:: {
Run("https://www.google.com")
Run("https://www.wikipedia.org")
}
^!d:: {
folder := FormatTime(, "yyyy-MM-dd")
path := A_Desktop "\" folder
DirCreate(path)
Run(path)
}
با چنین فایلی میتوانید مجموعهای از میانبرهای شخصی برای کارهای روزمره خود بسازید.
برای جلوگیری از تداخل، بهتر است میانبرهایی انتخاب کنید که با میانبرهای مهم ویندوز و برنامههای مورد استفاده شما تداخل نداشته باشند.
AutoHotkey یا PowerToys؛ کدام ابزار برای شما مناسبتر است؟
PowerToys برای کارهای آماده و AutoHotkey برای اتوماسیون سفارشی
اگر فقط به تغییر میانبرها یا اجرای برنامه با کلیدهای اختصاصی نیاز دارید، Microsoft PowerToys نیز ابزارهایی برای این کار دارد. Keyboard Manager میتواند کلیدها و میانبرها را تغییر دهد و حتی یک میانبر را به اجرای برنامه یا وارد کردن متن اختصاص دهد.
PowerToys Run نیز امکان اجرای سریع برنامهها، فایلها، دستورات سیستمی و حتی جستوجوی وب را با یک میانبر فراهم میکند.
اما زمانی که میخواهید چند عملیات را پشت سر هم اجرا کنید، متن انتخابشده را پردازش کنید، پوشه بسازید یا منطق شرطی و رفتار سفارشی داشته باشید، AutoHotkey انعطاف بیشتری در اختیار شما قرار میدهد.
نکات مهم برای استفاده امن و بدون دردسر از AutoHotkey
اسکریپتها را قبل از اجرای دائمی آزمایش کنید
اسکریپتهای AHK میتوانند برنامه اجرا کنند، فایل بسازند، متن وارد کنند و با پنجرهها تعامل داشته باشند. بنابراین بهتر است کدهای ناشناس را بدون بررسی اجرا نکنید.
همچنین اگر اسکریپتی را از اینترنت دریافت میکنید، ابتدا کد آن را بخوانید و مطمئن شوید دستوراتی مانند حذف فایل، اجرای برنامه ناشناس یا تغییر تنظیمات سیستم در آن وجود ندارد.
میانبرها را با برنامههای دیگر هماهنگ کنید
ممکن است یک ترکیب کلید در یک برنامه از قبل استفاده شده باشد. برای جلوگیری از تداخل، میانبرهای اختصاصی خود را با ترکیبهایی انتخاب کنید که در نرمافزارهای مهم شما کاربرد دیگری نداشته باشند.
در صورت نیاز به مشاهده و مدیریت میانبرهای برنامههای مختلف، PowerToys Shortcut Guide نیز میتواند میانبرهای ویندوز و بسیاری از برنامههای رایج را نمایش دهد.
AutoHotkey را برای کارهای کوچک شروع کنید
لازم نیست از همان ابتدا یک اسکریپت پیچیده بنویسید. بهتر است ابتدا یک کار تکراری ساده را انتخاب کنید و فقط همان را خودکار کنید. پس از آشنایی با Hotkey و Hotstring میتوانید شرطها، متغیرها، Clipboard و توابع مختلف را به اسکریپت اضافه کنید.
سادهگو