Cách viết tập lệnh AutoHotkey

AutoHotkey là một phần mềm tuyệt vời nhưng phức tạp. Ban đầu nó được dự định để liên kết lại các phím nóng tùy chỉnh cho các hành động khác nhau nhưng giờ đây đã trở thành một bộ tự động hóa đầy đủ của Windows.

AHK không đặc biệt khó học đối với người dùng mới, vì khái niệm chung khá đơn giản, nhưng nó là một ngôn ngữ lập trình đầy đủ, hoàn chỉnh của Turing. Bạn sẽ hiểu cú pháp dễ dàng hơn nhiều nếu bạn có nền tảng lập trình hoặc đã quen thuộc với các khái niệm.

Cài đặt và sử dụng AutoHotkey

Quá trình cài đặt AutoHotkey rất đơn giản. Tải xuống trình cài đặt từ trang web chính thức và chạy nó. Chọn “Cài đặt nhanh”. Sau khi cài đặt phần mềm, bạn có thể nhấp chuột phải vào bất kỳ đâu và chọn Mới> Tập lệnh AutoHotkey để tạo tập lệnh mới.

Tập lệnh AHK là các tệp văn bản có .ahk sự mở rộng. Nếu bạn nhấp chuột phải vào chúng, bạn sẽ nhận được một số tùy chọn:

  • “Run Script” sẽ tải script của bạn với thời gian chạy AHK.
  • “Tập lệnh biên dịch” sẽ kết hợp nó với tệp thực thi AHK để tạo tệp EXE mà bạn có thể chạy.
  • “Chỉnh sửa tập lệnh” sẽ mở tập lệnh của bạn trong trình soạn thảo văn bản mặc định của bạn. Bạn có thể sử dụng Notepad để viết các tập lệnh AHK, nhưng chúng tôi khuyên bạn nên sử dụng SciTE4AutoHotkey, một trình chỉnh sửa cho AHK hỗ trợ đánh dấu cú pháp và gỡ lỗi.

Khi một tập lệnh đang chạy — cho dù đó có phải là EXE hay không — bạn sẽ thấy tập lệnh đó đang chạy ở chế độ nền trong vùng thông báo của Windows, còn được gọi là khay hệ thống. Tìm biểu tượng màu xanh lục có chữ “H” trên đó.

Để thoát, tạm dừng, tải lại hoặc chỉnh sửa tập lệnh, hãy nhấp chuột phải vào biểu tượng thông báo và chọn một tùy chọn thích hợp. Các tập lệnh sẽ tiếp tục chạy trong nền cho đến khi bạn thoát khỏi chúng. Tất nhiên, chúng cũng sẽ biến mất khi bạn đăng xuất khỏi Windows hoặc khởi động lại PC.

AutoHotkey hoạt động như thế nào?

Về cốt lõi, AHK thực hiện một điều — ràng buộc các hành động với các phím nóng. Có rất nhiều hành động, tổ hợp phím nóng và cấu trúc điều khiển khác nhau, nhưng tất cả các tập lệnh sẽ hoạt động trên cùng một nguyên tắc. Dưới đây là một tập lệnh AHK cơ bản để khởi chạy Google Chrome bất cứ khi nào bạn nhấn Windows + C:

#c :: Chạy trả lại Chrome

Dòng đầu tiên xác định một phím nóng. Dấu thăng (#) là viết tắt của phím Windows và c là phím C trên bàn phím. Sau đó, có dấu hai chấm (: :) để biểu thị sự bắt đầu của một khối hành động.

Dòng tiếp theo là một hành động. Trong trường hợp này, hành động khởi chạy một ứng dụng với Chạy chỉ huy. Khối được hoàn thành bằng một trở về cuối cùng. Bạn có thể có bất kỳ số lượng hành động nào trước khi trở về. Tất cả chúng sẽ bắn tuần tự.

Như vậy, bạn đã xác định một ánh xạ từ khóa hành động đơn giản. Bạn có thể đặt bao nhiêu trong số này tùy thích trong một .ahk và đặt nó chạy ở chế độ nền, luôn tìm kiếm các phím nóng để sửa lại.

Phím nóng và Công cụ sửa đổi

Bạn có thể tìm thấy danh sách đầy đủ các công cụ sửa đổi của AHK trong tài liệu chính thức, nhưng chúng tôi sẽ tập trung vào các tính năng hữu ích nhất (và thú vị).

Tất cả các phím bổ trợ đều có ký tự tắt duy nhất. Ví dụ, # ! ^ + lần lượt là Windows, Alt, Control và Shift. Bạn cũng có thể phân biệt giữa Alt, Control và Shift trái và phải bằng <> bổ ngữ, mở ra rất nhiều chỗ cho các phím nóng bổ sung. Ví dụ, + là Shift phải. Hãy xem danh sách chính để biết mọi thứ bạn có thể tham khảo. (Spoiler: Bạn có thể tham chiếu hầu hết mọi phím. Bạn thậm chí có thể tham chiếu các thiết bị nhập không phải bàn phím khác với một phần mở rộng nhỏ).

Bạn có thể kết hợp nhiều phím tùy thích vào một phím nóng, nhưng bạn sẽ sớm hết các tổ hợp phím cần nhớ. Đây là lúc các công cụ sửa đổi, cho phép bạn làm những điều điên rồ hơn. Hãy cùng tìm hiểu một ví dụ từ tài liệu AHK:

Mau xanh #IfWinActive được gọi làchỉ thịvà áp dụng ngữ cảnh bổ sung cho các phím nóng vật lý bên dưới nó trong tập lệnh. Mọi phím nóng sau nó sẽ chỉ kích hoạt nếu điều kiện là đúng và bạn có thể nhóm nhiều phím nóng theo một chỉ thị. Chỉ thị này sẽ không thay đổi cho đến khi bạn thực hiện một chỉ thị khác, nhưng bạn có thể đặt lại chỉ thị này với một khoảng trống #Nếu (và nếu đó có vẻ như là một vụ hack, chào mừng bạn đến với AHK).

Lệnh ở đây đang kiểm tra xem một cửa sổ cụ thể có đang mở hay không, được xác định bởi ahk_class Notepad. Khi AHK nhận được đầu vào “Win ​​+ C”, nó sẽ kích hoạt hành động theo đầu tiên #IfWinActive chỉ khi lệnh trả về true và sau đó kiểm tra lệnh thứ hai nếu không. AHK có rất nhiều chỉ thị và bạn có thể tìm thấy tất cả chúng trong tài liệu.

AutoHotkey cũng có các phím nóng, hoạt động giống như phím nóng ngoại trừ việc thay thế toàn bộ chuỗi văn bản. Điều này tương tự như cách tự động sửa hoạt động — trên thực tế, có một tập lệnh tự động sửa cho AHK — nhưng hỗ trợ bất kỳ hành động AHK nào.

Chuỗi nóng sẽ chỉ khớp với chuỗi nếu nó được nhập chính xác. Nó cũng sẽ tự động xóa văn bản phù hợp để thay thế chuỗi nóng, mặc dù hành vi này có thể được điều chỉnh.

Hành động

Một hành động trong AHK là bất cứ thứ gì có tác động bên ngoài lên hệ điều hành. AHK có rất nhiều hành động. Chúng tôi không thể giải thích tất cả chúng, vì vậy chúng tôi sẽ chọn ra một số cái hữu ích.

  • Gửi đầu vào, cho dù đó là văn bản hay các lần nhấn nút khác nhau.
  • Di chuyển chuột xung quanh. Trên thực tế, AHK đôi khi bị gắn cờ nhầm là phần mềm gian lận cho trò chơi điện tử, vì mọi người đã tạo ra aimbots hoạt động đầy đủ với nó.
  • Nhấp chuột, với vị trí liên quan đến cửa sổ hiện tại.
  • Hiển thị menu hộp thoại, hoàn chỉnh với các biểu mẫu và trường nhập.
  • Di chuyển cửa sổ xung quanh, điều chỉnh kích thước và đóng mở.
  • Chơi nhạc.
  • Ghi vào Windows Registry. Vâng thật đấy.
  • Sửa đổi nội dung của Bảng tạm.
  • Đọc và ghi tệp. Bạn có thể lặp lại các tệp và chạy các hành động trên mỗi dòng. AHK thậm chí có thể viết thư cho .ahk và điều chỉnh mã của riêng nó.

Hầu hết các hành động này cũng sẽ có các lệnh hướng thông tin được liên kết với chúng. Ví dụ: bạn có thể ghi vào khay nhớ tạm, nhưng bạn cũng có thể lấy nội dung của Bảng tạm để lưu trữ trong một biến và chạy các hàm khi khay nhớ tạm thay đổi.

Ràng buộc tất cả bằng các cấu trúc điều khiển

AHK sẽ không thành hiện thực nếu không có tất cả các cấu trúc điều khiển giúp nó trở nên hoàn chỉnh.

Ngoài các #Nếu chỉ thị, bạn cũng có quyền truy cập vào Nếu bên trong của các khối hành động. AHK có Đối với vòng lặp, khối dấu ngoặc nhọn, ThửNắm lấy và nhiều câu lệnh khác. Bạn có thể truy cập dữ liệu bên ngoài từ bên trong khối hành động và lưu trữ nó trong các biến hoặc đối tượng để sử dụng sau này. Bạn có thể xác định các chức năng và nhãn tùy chỉnh. Thực sự, bất cứ điều gì bạn có thể làm dễ dàng bằng một ngôn ngữ lập trình khác mà bạn có thể làm trong AHK với một chút đau đầu và xem qua tài liệu.

Ví dụ: hãy tưởng tượng bạn có một công việc nhàm chán, lặp đi lặp lại đòi hỏi bạn phải nhấp vào nhiều nút liên tiếp và đợi máy chủ phản hồi trước khi thực hiện lại lần nữa. Bạn có thể sử dụng AHK để tự động hóa việc này. Bạn muốn xác định một vài vòng lặp để di chuyển chuột đến các vị trí cụ thể, nhấp chuột, sau đó di chuyển đến vị trí tiếp theo và nhấp lại. Đưa vào một vài câu lệnh chờ để làm cho nó không bị hỏng. Bạn thậm chí có thể thử đọc màu sắc của pixel trên màn hình để xác định điều gì đang xảy ra.

Có một điều chắc chắn — kịch bản của bạn có thể sẽ không đẹp. Nhưng AutoHotkey cũng vậy, và điều đó không sao cả.


$config[zx-auto] not found$config[zx-overlay] not found