Hướng dẫn lập trình autohotkey

Hướng dẫn lập trình autohotkey

AutoHotkey không còn xa lạ với Make Tech Easier, nhưng trước đây chúng ta chủ yếu nói về các giải pháp xác định trước. Vấn đề là, AutoHotkey không (chỉ) là một nền tảng để chạy các tập lệnh do người khác tạo ra; nó chủ yếu là một ngôn ngữ kịch bản cho phép bạn xây dựng các giải pháp của riêng mình cho các nhu cầu cụ thể của bạn và tự động hóa bất cứ điều gì bạn làm trên màn hình Windows của mình. Để đề cập đến chức năng hoàn chỉnh của nó sẽ yêu cầu một loạt sách vì AutoHotkey đã phát triển thành một ngôn ngữ lập trình đầy đủ và giờ đây thậm chí còn cho phép bạn tạo ứng dụng với nó.

Đối với hướng dẫn này, chúng tôi bắt đầu với những kiến ​​thức cơ bản giúp bạn bắt đầu biến bất kỳ quy trình gồm nhiều bước nào thành một lần nhấn phím duy nhất.

Cài đặt

Tải xuống và cài đặt AutoHotkey từ trang web chính thức của nó. Chọn phiên bản hiện tại. Bỏ qua hai tùy chọn khác – V2 là phiên bản mới, không tương thích với các tập lệnh hiện có và có cú pháp hơi khác, trong khi V1.0 Deprecated đã cũ và bị hạn chế.

Tạo một tập lệnh trống

Sau khi cài đặt, AutoHotkey sẽ được đăng ký làm ứng dụng mặc định cho các tệp có phần mở rộng AHK. Đó là lý do tại sao chúng hoạt động dưới dạng tệp thực thi – AutoHotkey phân tích cú pháp chúng trong thời gian thực và thực thi nội dung của chúng. Tuy nhiên, trên thực tế, các tệp AHK là các tập lệnh bạn có thể mở trong bất kỳ trình soạn thảo văn bản nào.

Tạo một thư mục mới cho tập lệnh AutoHotkey đầu tiên của bạn ở bất cứ đâu bạn muốn, nhập nó, nhấp chuột phải và tạo New -> AutoHotkey Script từ tùy chọn mới trong menu chuột phải của bạn. Đặt cho nó bất cứ cái tên nào bạn muốn.

Chọn cách bạn sẽ chỉnh sửa tập lệnh của mình

Thay vì nhấp đúp vào tệp AHK bạn đã tạo như cách bạn làm để chạy tập lệnh tạo sẵn, hãy nhấp chuột phải vào tệp đó và chọn Chỉnh sửa. Bạn có thể chỉnh sửa các tệp AHK trong bất kỳ trình soạn thảo văn bản nào, nhưng vì script là một phiên bản lập trình nhỏ, sẽ tốt hơn nếu bạn sử dụng một chương trình được tạo cho mục đích đó. Mọi thứ từ Atom đến Sublime Text hoặc VS Code đều được. Nếu bạn chưa cài đặt bất kỳ công cụ nào như vậy và vì các tập lệnh đầu tiên của bạn sẽ đơn giản, bạn thậm chí có thể sử dụng Windowss Notepad.

Đối với những người thắc mắc, cá nhân tôi sử dụng tất cả các công cụ đó cho các mục đích khác (như HTML, CSS và một số JS, PHP và Python rất cơ bản), nhưng để chỉnh sửa tập lệnh AHK, tôi thấy mình đang quay trở lại Notepad ++ phổ biến.

Nhắm mục tiêu các ứng dụng hoặc cửa sổ cụ thể

Trước khi bắt đầu, trước tiên chúng ta hãy xem chương trình mà chúng ta muốn tạo kịch bản.

Bạn có thể tạo các tập lệnh chung trong AutoHotkey sẽ hoạt động ở mọi nơi, trong mọi ứng dụng và màn hình nền Windows, nhưng bạn cũng có thể nhắm mục tiêu các ứng dụng. Ví dụ, điều này cho phép bạn có cùng một phím tắt thực hiện những việc khác nhau trong hai chương trình khác nhau.

Tập lệnh của bạn sẽ được điền sẵn với một số cài đặt cơ bản. Đừng sửa đổi chúng – gõ sau những cái đó. Nhấn Enter một hoặc hai lần.

Nhập điều này vào tập lệnh của bạn:

Điều này cho AutoHotkey biết rằng bất cứ điều gì sau IfWinActive chỉ nên hoạt động trong cửa sổ có lớp Notepad (ahk_class Notepad). Các #If sau khi nó đóng phần để bất cứ thứ gì theo sau nó sẽ không bị giới hạn trong các cửa sổ có lớp Notepad.

Gặp gỡ Window Spy

Chạy tập lệnh trống của bạn để có biểu tượng AHK xuất hiện trong khay Windows. Nhấp chuột phải vào nó và chọn Window Spy từ menu bật lên. Bây giờ, bất cứ khi nào bạn nhấp vào bất kỳ cửa sổ nào khác, AutoHotkeys Window Spy sẽ hiển thị cho bạn thông tin về nó.

Hướng dẫn lập trình autohotkey

Ở trên cùng, bạn sẽ có thể thấy các cách khác nhau mà bạn có thể nhắm mục tiêu nó dựa trên tiêu đề, lớp và tệp thực thi của nó. Nếu bạn chạy Firefox và với Window Spy trên màn hình, hãy nhấp vào cửa sổ của nó. Bạn sẽ thấy rằng tệp thực thi của nó là firefox.exe. Sửa đổi tập lệnh của bạn hoán đổi tham chiếu Notepad cho #IfWinActive ahk_exe firefox.exe. Bạn có thể nhắm mục tiêu bất kỳ cửa sổ nào khác theo cách tương tự – sử dụng Window Spy để điều tra tiêu đề, lớp hoặc tệp thực thi của nó và nhắm mục tiêu bất kỳ cửa sổ nào trong số chúng. Đọc thêm về nó đây. Phiên bản ngắn gọn là:

  • Bạn có thể nhắm mục tiêu các cửa sổ theo tiêu đề của chúng bằng cách sử dụng #IfWinActive kèm theo tiêu đề.
  • Bạn có thể nhắm mục tiêu các cửa sổ theo lớp của chúng bằng cách sử dụng #IfWinActive ahk_class, tiếp theo là lớp Window Spy được công nhận.
  • Bạn có thể nhắm mục tiêu các chương trình bằng cách thực thi của chúng với #IfWinActive ahk_exevà tên tệp thực thi. Lưu ý rằng theo cách này, bạn nhắm mục tiêu tất cả các cửa sổ chương trình chứ không phải một cửa sổ cụ thể.

Kiểm tra tọa độ chuột

Với Window Spy đang hoạt động, hãy chuyển sự chú ý của bạn đến Mouse Position. Chúng chỉ cho bạn vị trí chính xác của con chuột.

  • Tuyệt đối hiển thị vị trí liên quan đến độ phân giải toàn màn hình của bạn.
  • Tương đối hiển thị vị trí trong cửa sổ đang hoạt động mà không bị ảnh hưởng bởi vị trí của nó trên màn hình. Đây là mặc định và, trong hầu hết các trường hợp, những gì bạn có thể sẽ sử dụng.
  • Ứng dụng khách giống như tương đối nhưng không tính đến bất kỳ trang trí cửa sổ nào – như thanh tiêu đề hoặc đường viền.

Sao chép các chuyển động chuột và nhấp chuột

Bây giờ bạn đã biết cách tạo một tập lệnh AHK mới và nhắm mục tiêu một cửa sổ cụ thể, nhưng còn tọa độ chuột mà chúng ta đã nói đến thì sao? Để di chuyển chuột của bạn đến tọa độ X, Y, như được đọc bởi Window Spy, hãy sử dụng MouseMove, X, Y ;. Thao tác này sẽ di chuyển chuột đến vị trí X, Y. Hãy nhớ: tọa độ tương đối là mặc định.

Ngoài ra, hãy lưu ý cách bạn có thể thêm nhận xét vào mã của mình sau ; tính cách. Đối với nhận xét nhiều dòng, hãy bắt đầu với / và kết thúc bằng / – không có dấu ngoặc kép. Di chuyển chuột là một chuyện. Để nhấp chuột, bạn không cần phải di chuyển chuột đến một vị trí cụ thể trước đó. Chỉ dùng:

Hướng dẫn lập trình autohotkey

Lưu ý rằng nếu bạn không nhập bất kỳ tọa độ nào, nhấp chuột sẽ vẫn xảy ra ở vị trí của con trỏ chuột.

Sao chép bất kỳ thao tác nhấn bàn phím nào

Cuối cùng, chúng tôi đã để lại phần quan trọng nhất của phương trình: sendkeys. Đây là lệnh được sử dụng trong AutoHotkey để sao chép bất kỳ lần nhấn phím nào. Bằng cách sử dụng nó, bạn có thể hướng AutoHotkey gửi bất kỳ chuỗi lần nhấn phím nào đến bất kỳ chương trình nào, giống như khi bạn đã tự nhấn các phím đó. Ví dụ:

yêu cầu AutoHotkey gửi các lần nhấn phím tạo thành cụm từ Make Tech Easier. Bạn có thể sử dụng bất kỳ chữ cái hoặc số nào. Các khóa đặc biệt có mã ngắn riêng và được bao quanh bởi dấu ngoặc. Một số trong số đó là:

  • {Chuyển hướng}
  • {Sự thay đổi}
  • {Control} hoặc {Ctrl}
  • {Alt}
  • {F1 – F12)
  • {LWin} {RWin} Phím Windows trái và phải tương ứng
  • {Vào}
  • {Khoảng trống}
  • {Backspace}
  • {Xóa bỏ}
  • {Lên} {Xuống} {Trái} {Phải}; Các phím con trỏ Lên, Xuống, Trái và Phải
  • {Trang Chủ}
  • {Chấm dứt}
  • {PgUp} {PgDown}; Trang Lên và Trang xuống
  • {Volume_Up} {Volume_Down} {Volume_Mute}; các phím tắt điều khiển phương tiện để kiểm soát âm lượng âm thanh

Bạn cũng có thể sử dụng số để mô phỏng các lần nhấn phím lặp lại. Thao tác sau sẽ làm cho AutoHotkey gửi năm dấu cách đến bất kỳ cửa sổ nào đang hoạt động, giống như khi bạn nhấn phím cách năm lần. Sau đó, gõ Make Tech Easier, là hai lần nhấn phím Tab và một lần nhấn Enter.

AutoHotkey cũng đặt bốn biểu tượng làm công cụ sửa đổi giúp gửi các tổ hợp phím tắt đến chương trình đang hoạt động. Những điều đó chỉ ảnh hưởng đến nhân vật tiếp theo sau họ và là:

  • ! cho Alt
  • + cho Shift
  • ^ để kiểm soát
  • # cho Windows Key

Sau đây sẽ gửi kết hợp đến cửa sổ đang hoạt động Control + 1, chọn tất cả văn bản, sau đó Control + C để sao chép nó vào Clipboard:

Tạo tập lệnh đầu tiên của bạn

Cho phép xem mọi thứ chúng ta thấy cho đến nay chuyển sang một ví dụ trong thế giới thực như thế nào bằng cách tạo một tập lệnh sẽ thêm một phím tắt vào chức năng tìm kiếm Make Tech Easiers. Bằng cách nhấn phím nóng, chuột sẽ di chuyển và nhấp vào biểu tượng tìm kiếm trên trang web của chúng tôi. Sau đó, nhập bất kỳ nội dung nào có trong Bảng tạm trong trường tìm kiếm và gửi Enter để bắt đầu tìm kiếm.

Hướng dẫn lập trình autohotkey

Chúng tôi bắt đầu bằng cách kiểm tra với Window Spy và thấy rằng tọa độ cho biểu tượng tìm kiếm, khi cửa sổ Firefox được phóng to tối đa trên màn hình 1920 x 1080, gần với X = 1835 và Y = 135. Những con số đó khác nhau vì biểu tượng tìm kiếm lớn hơn một pixel đơn lẻ, vì vậy X = 1830 và Y = 140 cũng sẽ hoạt động vì con trỏ vẫn đang trỏ vào biểu tượng khi ở các tọa độ đó. Biết được điều này, chúng ta có thể viết:

Vâng, nó đơn giản như vậy, gần giống như viết bằng tiếng Anh đơn giản. Và, nếu bạn nghĩ về nó, điều này cho phép bạn tự động hóa hầu hết mọi thứ bạn làm trên máy tính của mình.

  • Bạn có muốn lập bản đồ khởi chạy năm ứng dụng hay Ryus Hadouken di chuyển trong Street Fighter chỉ với một lần nhấn phím?
  • Để di chuyển con trỏ chuột đến một điểm cụ thể trong cửa sổ và nhấp chuột 50 lần liên tục?
  • Để làm cho Caps Lock trở nên hữu ích hơn bằng cách biến nó thành cú nhấp chuột giữa mà con chuột của bạn thiếu?

Điều này hoàn toàn có thể làm được theo cùng một cách! Hãy suy nghĩ về tất cả các quy trình bạn lặp lại hàng ngày, chia nhỏ chúng thành các phần trong tổng số của chúng và sao chép từng phần với AutoHotkey để đơn giản hóa đáng kể cách bạn sử dụng máy tính và tăng năng suất của bạn.