Đối với cách dùng AutoHotkey bởi các biên tập viên Wikipedia, xem Wikipedia:AutoHotkey.

**AutoHotkey** là một ngôn ngữ kịch bản tùy biến miễn phí, nguồn mở cho Microsoft Windows, bàn đầu nhằm cung cấp các phím tắt hay phím nóng dễ dàng, tạo macro nhanh và tự động hóa phần mềm để cho phép người dùng máy tính ở cấp độ nào cũng có thể tự động hóa các tác vụ lặp lại ở bất kì ứng dụng Windows nào. Giao diện ngườ dùng cũng có thể dễ dàng được mở rộng hay sửa đổi bởi AutoHotkey (ví dụ, ghi đè lệnh phím Control mặc định của Windows bằng phím tương tự của Emacs). Cài đặt AutoHotkey bao gồm tập tin giúp đỡ của nó với phiên bản luôn được cập nhật trên web.

Tính năng
---------

Các tác vụ chính của AutoHotkey gồm:

* Ánh xạ lại bàn phim, ví dụ như từ QWERTY sang Dvorak hoặc các bố cục bàn phím thay thế khác.
* Sử dụng phím tắt để điền các tên tập tin hay các cụm từ khác hay dùng.
* Điều khiển con trỏ chuột với bàn phim hay joystick.
* Mở chương trình, tài liệu, và website với những phím bấm đơn giảm.
* Thêm một chữ kí vào e-mail, diễn đàn trực tuyến...
* Giám sát một hệ thống và tự động tắt các chương trình không cần thiết.
* Lên lịch cho một nhắc nhở tự động, quét hệ thống, hay sao lưu.
* Tự động hóa các tác vụ lặp đi lặp lại trong các trò chơi trực tuyến.
* Tự động hóa các tác vụ lặp đi lặp lại trong Microsoft Excel.
* Tự động điền vào biểu mẫu cho cuộc thi và quà tặng (ví dụ, nó có thể tự động gõ tên, địa chỉ... của bạn).
* Kiểm tra mã nhanh trước khi hiện thực nó trong ngôn ngữ lập trình khác (vốn tốn thời gian hơn).

Lịch sử
-------

Phiên bản beta công khai đầu tiên của AutoHotkey được phát hành vào ngày 10 tháng 11 năm 2003 sau đề xuất của tác giả Chris Mallett nhằm tích hợp sự hỗ trợ phím tắt vào trong AutoIt v2 nhưng thất bại trong việc nhận được phản hồi từ cộng đồng AutoIt. Vì vậy tác giả bắt đầu chương trình riêng của mình từ đầu dựa trên cú pháp của AutoIt v2 và sử dụng v3 cho một số lệnh và trình biên dịch. Sau đó, AutoIt v3 chuyển từ giấy phép GPL sang mã nguồn đóng bởi vì "những dự án khác liên tục lấy mã nguồn của AutoIt" và "xây dựng lên thành đối thủ cạnh tranh."

Năm 2010, AutoHotkey v1.1 (trước đây gọi là AutoHotkey\_L) trở thành nền tảng cho sự phát triển liên tục của AutoHotkey. Một cổng khác của chương trình là AutoHotkey.dll.

Ví dụ
-----

Kịch bản sau sẽ hoán đổi phím Control và Alt.

```
LCtrl::Alt
LAlt::Ctrl

```

Kịch bản sau sẽ cho phép người dùng tìm kiếm một từ hay cụm từ cụ thể bằng Google. Sau khi sao chép văn bản từ bất kì ứng dụng nào vào Clipboard, nhấn phím nóng cấu hình `⊞ Win`+`g` sẽ mở trình duyệt web mặc định của người dùng và thực hiện việc tìm kiếm.

```
#g:: ; Win+g
   Run http://www.google.com/search?q=%clipboard%
Return

```

Sau đây là một ví dụ về kịch bản cần thiết để tạo ra chuỗi nóng "afaik," được tự động thay thế bởi "as far as I know":

```
::afaik::as far as I know

```

Còn sau đây là một ví dụ về một hàm đơn giản trong AutoHotkey. Khi một URL được sao chép vào Clipboard, phím tắt `Alt`+`x` sẽ kiểm tra URL đó cho bất kì/tất cả dấu ngoặc đơn và thay thế chúng với các kí tự thay thế trước khi dán URL từ Clipboard:

```
!x:: ; Alt+x
   URLReplace()
   Send ^v ; Ctrl+v
Return

URLReplace() {
   StringReplace, Clipboard, Clipboard, (, `%28, All
   StringReplace, Clipboard, Clipboard,), `%29, All
}

```

Trong ví dụ này, một khi nội dung của tên người dùng hay liên kết Địa chỉ IP được sao chép từ bất cứ website nào của Wikipedia vào Clipboard (sử dụng Firefox), kịch bản sau cho phép người dùng thực thi hàm CopyUser trong nội dung Clipboard và lưu nó vào trong một biến được chỉ định bằng phím nóng `Ctrl`+`⇧ Shift`+`W` hay phím nóng `Ctrl`+`⇧ Shift`+`E`. Phím nóng `Ctrl`+`⇧ Shift`+`R` tận dụng các giá trị kết quả để tạo ra bản tóm tắt kết quả chỉnh sửa.

```
^+w::last:= CopyUser() ; Ctrl+Shift+w
^+e::edit:= CopyUser() ; Ctrl+Shift+e

CopyUser() {
   Clipboard =
   StringReplace, Clipboard, Clipboard, http://en.wikipedia.org/
   StringReplace, Clipboard, Clipboard, wiki/
   StringReplace, Clipboard, Clipboard, w/index.php?title=
   StringReplace, Clipboard, Clipboard, Special:Contributions&target=
   StringReplace, Clipboard, Clipboard, User:
   StringReplace, Clipboard, Clipboard, &action=edit
   StringReplace, Clipboard, Clipboard, \_, %A\_Space%, All
   Return, Clipboard
}

; Ctrl+Shift+r
^+r::Send revert edits by [[Special:Contributions/%edit%|%edit%]] to last version by %last%

```

Cộng đồng
---------

Diễn đàn cộng đồng trực tuyến của AutoHotkey có khoảng 22.000 người dùng đăng kí và khoảng 186.000 bài viết vào thời điểm tháng 3 năm 2018.[*cần dẫn nguồn*]

Tính năng do người dùng đóng góp
--------------------------------

Các thư viện mở rộng/interops/inline script có sẵn để sử dụng với/từ các ngôn ngữ lập trình khác:

* VB/C# (.NET)
* Lua
* Lisp
* ECL
* VBScript/JScript (Windows Scripting Host)
* Ngôn ngữ máy nhúng

Phần mềm ác ý
-------------

Trong khi AutoHotkey được sử dụng để tạo nên phần mềm tự chứa để phân phối, phần mềm đó phải bao gồm một phần của chính AutoHotkey để nó hiểu được và thực thi được kịch bản của AutoHotkey; nó là một ngôn ngữ thông dịch. Chắc chắn, một số phần mềm ác ý được viết bằng cách sử dụng AutoHotkey.

Xem thêm
--------

* Cổng thông tin Phần mềm miễn phí

* AutoIt
* KiXtart
* Winbatch
* Macro Express
* Bookmarklet
* iMacros cho Firefox
* AutoKey (cho Linux)
* Automator (cho Macintosh)
* Keyboard Maestro (cho Macintosh)

Tham khảo
---------

1. ↑  "AutoHotkey Downloads".
2. ↑  "AutoHotkey v2 Downloads (sorted by date)".
3. ↑  Contact Erica Sadun: Comment (ngày 19 tháng 8 năm 2005). "Ericasadun 2005 Life Hacker". Lifehacker.com. Bản gốc lưu trữ ngày 24 tháng 10 năm 2005. Truy cập ngày 2 tháng 12 năm 2011.
4. ↑  "AutoHotkey". Truy cập 8 tháng 5 năm 2018.
5. ↑  "AutoHotkey Changelog for Years 2003-2004". Autohotkey.com. Bản gốc lưu trữ ngày 4 tháng 11 năm 2011. Truy cập ngày 2 tháng 12 năm 2011.
6. ↑  "Author Chris Mallett's post on the AutoHotkey Forums". Autohotkey.com. Truy cập ngày 2 tháng 12 năm 2011.
7. ↑  "An AutoIt / AutoHotkey nonfunctional comparison". Paperlined.org. Truy cập ngày 2 tháng 12 năm 2011.
8. ↑  "Author Chris Mallett's post on the AutoHotkey Forums". Autohotkey.com. Truy cập ngày 2 tháng 12 năm 2011.
9. ↑  "Licensing Opinions - AutoIt Forums". Autoitscript.com. Truy cập ngày 2 tháng 12 năm 2011.
10. ↑  "Forum post by Chris, announcing AutoHotkey\_L now main platform". Autohotkey.com. Truy cập ngày 2 tháng 12 năm 2011.
11. ↑  "AutoHotekey.dll Module". *github.io*. Truy cập ngày 13 tháng 5 năm 2017.
12. ↑  Framework
13. ↑  LibLua
14. ↑  Lisp on win32
15. ↑  Embeddable Common Lisp
16. ↑  Windows Scripting Host
17. ↑  Embedded machine code
18. ↑  Research, Cybereason Nocturnus. "Fauxpersky: CredStealer malware written in AutoHotKey masquerades as Kaspersky Antivirus, spreading through infecting USB drives". Truy cập ngày 29 tháng 3 năm 2018.

Liên kết ngoài
--------------

* Trang web chính thức
* AutoHotkey Foundation LLC