Trong nhiều năm, tôi đã dành hàng giờ để tạo ra các script PowerShell trên máy tính Windows của mình. Mặc dù hiệu quả, nhưng phần lớn trong số chúng đòi hỏi phải được chạy thủ công, điều này đôi khi làm mất đi tính tiện lợi. Kể từ khi khám phá AutoHotkey phiên bản 2 (AutoHotkey v2), tôi đã có thể tái tạo lại những script này và gán chúng vào các tổ hợp phím tắt riêng. Nhờ đó, chúng trở nên tiện lợi như những tính năng được tích hợp sẵn trong Windows mà Microsoft đã “quên” không nhắc đến.
AutoHotkey là một công cụ mã nguồn mở miễn phí, cho phép người dùng tự động hóa các tác vụ lặp đi lặp lại, tạo phím tắt tùy chỉnh (hotkey) hoặc tự động hóa các thao tác chuột và bàn phím. Với phiên bản v2 được cải tiến, việc viết script trở nên trực quan và mạnh mẽ hơn bao giờ hết, mở ra khả năng cá nhân hóa trải nghiệm sử dụng Windows của bạn lên một tầm cao mới. Từ việc khởi động ứng dụng nhanh chóng, sắp xếp tệp tin thông minh, cho đến việc điều khiển hệ thống một cách linh hoạt, AutoHotkey v2 mang lại những giải pháp thiết thực giúp tiết kiệm thời gian, giảm thiểu sự phiền toái và tăng cường đáng kể năng suất làm việc của bạn trên máy tính. Hãy cùng khám phá 10 script AutoHotkey v2 mà tôi đã sử dụng để biến chiếc PC Windows của mình thành một cỗ máy làm việc hiệu quả và được cá nhân hóa tối đa.
1. Khởi Động Ứng Dụng Nhanh Chóng Với Menu Tùy Chỉnh
Các ứng dụng như Notepad, Calculator, hoặc Paint thường không được tôi đặt trên màn hình desktop vì chúng không quá quan trọng để truy cập liên tục. Tuy nhiên, đôi lúc tôi vẫn cần tìm kiếm những ứng dụng này để sử dụng nhanh chóng. Thay vì phải lục lọi qua Start menu hay các biểu tượng trên desktop, tôi đã tạo một menu tùy chỉnh xuất hiện ngay lập tức khi tôi nhấn tổ hợp phím Windows Key + M bằng script dưới đây.
Menu ứng dụng tùy chỉnh AutoHotkey v2 mở nhanh trên Windows
Script của tôi được thiết lập với Calculator, Sticky Notes, MS Paint và Notepad. Tuy nhiên, bạn có thể dễ dàng sửa đổi script để thêm vào các ứng dụng yêu thích của riêng mình. Muốn thêm Notion? Chỉ cần sao chép một trong các dòng hiện có, thay đổi tên thành “Notion”, tìm tệp .exe
của ứng dụng, sao chép đường dẫn của nó và dán vào bên trong dấu ngoặc đơn của lệnh Run
.
Tôi thực sự rất thích menu tùy chỉnh này. Chỉ cần nhấn Windows + M, nhấp vào ứng dụng tôi muốn mở, và mọi thứ đã xong. Không còn phải cuộn qua danh sách chương trình hay cố gắng nhớ nơi tôi đã ghim ứng dụng mà mình hiếm khi cần dùng đến. Tôi sử dụng tính năng này nhiều lần mỗi ngày và nó giúp tôi tiết kiệm những khoảnh khắc nhỏ nhưng tích lũy dần thành thời gian đáng kể, giảm bớt sự gián đoạn trong công việc.
#Requires AutoHotkey v2.0
#m::
{
MyMenu := Menu()
MyMenu.Add("Calculator", (*) => Run("calc.exe"))
MyMenu.Add("Sticky Notes", (*) => Run("explorer.exe shell:AppsFolderMicrosoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App"))
MyMenu.Add("Notepad", (*) => Run("notepad.exe"))
MyMenu.Add("Paint", (*) => Run("mspaint.exe"))
MyMenu.Show()
}
2. Cuộn Ngang Đồng Bộ Trên Mọi Ứng Dụng
Thao tác giữ Shift + Con Lăn Chuột để cuộn ngang không hoạt động nhất quán trên tất cả các ứng dụng mà tôi sử dụng. Đáng tiếc là tôi thường xuyên dùng hành động này, đặc biệt khi tôi cần xem các đoạn code dài hoặc thiết kế trong CAD. Vì vậy, tôi đã tạo script riêng để đảm bảo tính năng cuộn ngang hoạt động với bất kỳ ứng dụng nào tôi đang dùng.
Tạo một script với đoạn mã sau để tự mình trải nghiệm:
#Requires AutoHotkey v2.0
#HotIf GetKeyState("Shift", "P")
WheelUp::Send("{WheelLeft}")
WheelDown::Send("{WheelRight}")
#HotIf
Bằng cách giữ Shift và cuộn con lăn chuột, tôi có thể cuộn sang trái và phải thay vì lên hoặc xuống. Điều này hoạt động trong mọi chương trình hỗ trợ cuộn ngang, từ các bảng tính Excel, trình chỉnh sửa ảnh cho đến các trình duyệt web với nội dung rộng. Script này giúp tôi duy trì một thao tác cuộn nhất quán, nâng cao hiệu quả khi làm việc với các tài liệu hoặc giao diện cần xem theo chiều ngang.
3. Truy Cập Thư Mục Bất Kỳ Ngay Lập Tức
Tôi thường tổ chức các tệp tin của mình bằng cách sử dụng các thư mục và thư mục con. Tuy nhiên, đôi khi tôi tạo quá nhiều thư mục con đến nỗi việc truy cập một thư mục dự án cụ thể có thể mất nhiều lần nhấp chuột. Sau đó, tôi nhận ra mình có thể dễ dàng tạo một script gán vào tổ hợp phím Ctrl + Alt + D để mở ngay lập tức một thư mục dự án đã định.
Đây là script:
#Requires AutoHotkey v2.0
^!d::Run('explorer.exe "C:UsersjricmDownloads"')
Bạn có thể dễ dàng sửa đổi script này bằng cách thêm đường dẫn thư mục của bạn (trong dấu ngoặc kép) ngay sau 'explorer.exe'
. Tất nhiên, bạn cũng có thể thay đổi các tổ hợp phím tắt bằng cách sử dụng các ký hiệu sửa đổi của AutoHotkey.
Điều tôi thích ở cách tiếp cận này là khả năng tùy biến cao một khi bạn hiểu được quy tắc. Tôi đã tạo ra nhiều biến thể để mở thư mục Desktop, thư mục Documents của mình, và thậm chí cả các thư mục dự án cụ thể mà tôi đang làm việc. Tính năng này giúp tiết kiệm đáng kể thời gian điều hướng và đơn giản hóa việc truy cập các tài liệu quan trọng.
4. Tự Động Mở Rộng Văn Bản Với Cụm Từ Thường Dùng
Tôi rất thích ý tưởng sử dụng các mã Alt của Windows để dễ dàng và nhanh chóng chèn các ký tự đặc biệt. Tôi đã áp dụng cùng một cách tiếp cận đó với một script AutoHotkey cho phép tôi sử dụng các phím tắt cho những cụm từ phổ biến mà tôi thường xuyên sử dụng. Hãy tạo script này để tự mình trải nghiệm:
#Requires AutoHotkey v2.0
#SingleInstance Force
::gm::Good morning
::ty::Thank you
::brb::Be right back
Với ví dụ này, bất cứ khi nào tôi gõ “gm” theo sau bởi một dấu cách (hoặc Enter), nó sẽ ngay lập tức mở rộng thành “Good morning.” Điều tương tự cũng xảy ra với “ty,” sẽ mở rộng thành “Thank you,” và “brb” cho “Be right back.” Tính năng này hoạt động trong bất kỳ ứng dụng nào bạn có thể gõ chữ và tôi thấy nó đặc biệt hữu ích khi tôi trả lời tin nhắn trong suốt cả ngày.
Nếu bạn muốn tùy chỉnh, chỉ cần thêm các từ viết tắt và cụm từ của riêng bạn theo cùng định dạng. Đây là một bổ sung nhỏ nhưng mang lại một chút tính chuyên nghiệp cho giao tiếp hàng ngày của tôi và giữ cho các phản hồi của tôi luôn nhất quán. Mặc dù có những cách khác để chèn các ký tự đặc biệt bằng phím tắt Windows, tôi thấy AutoHotkey cung cấp khả năng tùy biến tốt nhất.
5. Điều Khiển Âm Lượng Bằng Bàn Phím Tùy Chỉnh
Các điều khiển âm lượng của Windows luôn tạo cho tôi cảm giác khó xử. Bạn phải nhấp vào biểu tượng loa nhỏ xíu trong khay hệ thống hoặc tìm các nút âm lượng trên bàn phím, vốn rất khó tìm, đặc biệt nếu bạn làm việc trong điều kiện thiếu sáng như tôi. Tôi muốn một cái gì đó nhanh hơn và trực quan hơn.
Vì các ngón tay của tôi luôn bám vào các phím “home row” (A, S, D, F và J, K, L, ;), nên việc gán điều khiển âm lượng vào Ctrl + Dấu phẩy hoặc Ctrl + Dấu chấm để điều chỉnh âm lượng, và Ctrl + M để tắt/bật tiếng là rất hợp lý. Đây là script tôi đã sử dụng:
Điều khiển âm lượng Windows bằng phím tắt tùy chỉnh trên bàn phím với AutoHotkey
#Requires AutoHotkey v2.0
#SingleInstance Force
^,::Send("{Volume_Down}") ; Ctrl + < (comma)
^.::Send("{Volume_Up}") ; Ctrl + > (period)
^m::Send("{Volume_Mute}") ; Ctrl + M
Tôi đã chọn các tổ hợp phím này vì chúng không xung đột với các phím tắt phổ biến trong hầu hết các chương trình và chúng luôn nằm trong tầm với của ngón tay. Khi tôi đang trong một cuộc gọi video và âm thanh của ai đó quá lớn, tôi có thể nhanh chóng nhấn Ctrl + Dấu phẩy vài lần mà không làm gián đoạn quy trình làm việc hay phải loay hoay với chuột.
Mặc dù có nhiều cách để thiết lập điều khiển âm lượng tùy chỉnh trên bàn phím của bạn, tôi vẫn ưu tiên sử dụng AutoHotkey. Nó mô phỏng các tín hiệu mà các phím âm lượng chuyên dụng gửi đi, đảm bảo khả năng tương thích với mọi thiết bị âm thanh và tất cả cài đặt âm thanh Windows của bạn. Nó thậm chí còn hiển thị lớp phủ âm lượng giống hệt như khi bạn nhấn các nút âm lượng vật lý. Nếu bạn thích các tổ hợp phím khác, bạn có thể dễ dàng sửa đổi script. Có thể Ctrl + Cộng và Ctrl + Trừ cảm thấy tự nhiên hơn với bạn, hoặc có thể bạn muốn sử dụng các phím chức năng thay thế.
6. Căn Giữa Con Trỏ Chuột Tức Thì
Script này nghe có vẻ đơn giản, nhưng lại cực kỳ hữu ích, đặc biệt nếu bạn làm việc với nhiều màn hình hoặc một thiết lập màn hình siêu rộng duy nhất. Phím nóng này sẽ căn giữa con trỏ chuột của bạn khi bạn nhấn Ctrl + Alt + C. Ban đầu tôi tạo nó để chơi game, nhưng tôi nhận thấy mình sử dụng nó suốt cả ngày. Đây là script bạn cần tạo:
#Requires AutoHotkey v2.0
^!c::
{
WinGetPos(&x, &y, &w, &h, "A")
MouseMove(x + w/2, y + h/2)
}
Script này tìm điểm trung tâm chính xác của cửa sổ đang hoạt động và di chuyển chuột đến đó ngay lập tức. Nó hoạt động với bất kỳ chương trình và kích thước cửa sổ nào, ngay cả khi cửa sổ bị lệch ra ngoài màn hình. Tôi sử dụng nó thường xuyên nhất khi chuyển đổi giữa các ứng dụng khác nhau và muốn nhanh chóng tập trung vào cửa sổ mới mà không cần phải suy nghĩ xem con chuột của mình đang ở đâu.
Bạn có thể sửa đổi script này để căn giữa con trỏ trên toàn bộ màn hình thay vì chỉ cửa sổ đang hoạt động, hoặc tạo các biến thể để di chuyển con trỏ đến các vị trí cụ thể như góc trên bên trái hoặc góc dưới bên phải. Một số người thích có con trỏ của họ tự động di chuyển đến nút đóng trên Windows, điều này bạn cũng có thể thực hiện với một sửa đổi nhỏ đối với vị trí.
7. Tự Động Sắp Xếp Thư Mục Tải Xuống
![]() |
Trước khi sắp xếp |
![]() |
Sau khi sắp xếp |
Thư mục Downloads của tôi từng là một mớ hỗn độn. Ảnh chụp màn hình lẫn lộn với các tệp PDF, tệp nhạc nằm cạnh các trình cài đặt ngẫu nhiên, tất cả chỉ được đổ vào một đống khổng lồ. Tôi đã cố gắng sắp xếp thủ công, nhưng ai có thời gian để phân loại tệp khi đang bận làm việc?
Script phím nóng này chạy ẩn và tự động sắp xếp các tệp tải xuống mới vào các thư mục được tổ chức dựa trên loại tệp. Tôi nhấn F12 để bật nó, và cứ năm giây một lần nó sẽ quét thư mục Downloads của bạn và di chuyển các tệp đến các thư mục con thích hợp. Các tệp PDF và Word sẽ vào thư mục “Docs”, hình ảnh vào “Images”, tệp nhạc vào “Music”, v.v. Đây là cách tôi thiết lập:
#Requires AutoHotkey v2.0
downloads:="C:UsersjricmDownloads"
, interval:=5000
ext:=Map("pdf","Docs"
,"docx","Docs"
,"xlsx","Docs"
,"txt","Text"
,"jpg","Images"
,"png","Images"
,"mp3","Music"
,"mp4","Videos"
,"exe","Programs"
,"zip","Archives")
F12::
{
static on:=false
on:=!on
, SetTimer(MoveFiles, on?interval:0)
ToolTip("AutoSort: " (on?"ON":"OFF"))
, SetTimer(() => ToolTip(), -1500)
}
MoveFiles()
{
Loop Files downloads "*.*", "F"
if ext.Has(e:=A_LoopFileExt)
{
d:=downloads "" ext[e]
if !DirExist(d)
DirCreate(d)
try
FileMove(A_LoopFilePath, d "" A_LoopFileName, 1)
}
}
Script này tự động tạo các thư mục nếu chúng chưa tồn tại, vì vậy bạn không cần phải thiết lập bất cứ điều gì trước. Nó đủ thông minh để xử lý xung đột tệp. Nếu bạn tải xuống hai tệp có cùng tên, nó sẽ không ghi đè lên tệp hiện có.
Nếu bạn cũng muốn sử dụng script tôi đã cung cấp, trước tiên bạn sẽ phải thay đổi đường dẫn thư mục bên cạnh biến “downloads”. Bạn cũng có thể thay đổi và thêm các tiện ích mở rộng tệp khác bằng cách thêm loại tiện ích mở rộng vào biến “ext”.
Có một chú giải công cụ nhỏ xuất hiện khi bạn bật hoặc tắt nó, nhưng ngoài ra nó chỉ âm thầm thực hiện công việc của mình ở chế độ nền. Khoảng thời gian năm giây có nghĩa là nó bắt các tệp tải xuống mới một cách nhanh chóng mà không liên tục quét và làm chậm máy tính của bạn.
8. Khởi Chạy Nhiều Ứng Dụng Cho Quy Trình Làm Việc Cụ Thể
Tôi rất thích sử dụng Virtual Desktops của Windows để tổ chức các tác vụ khác nhau. Thật đáng tiếc khi nó không cho phép bạn tự động mở các ứng dụng nhất định hoặc thay đổi ứng dụng cho mỗi màn hình ảo. Để khắc phục điều này, tôi đã sử dụng AutoHotkey để mở nhiều ứng dụng chỉ bằng một lần nhấn phím. Đây là script tôi sử dụng:
#Requires AutoHotkey v2.0
+1::
{
Run('"C:UsersjricmAppDataLocalProgramsMicrosoft VS CodeCode.exe"')
Run('"C:Program FilesJetBrainsDataGrip 2023.3.4bindatagrip64.exe"')
Run('"C:Program FilesDockerDockerDocker Desktop.exe"')
}
Bằng cách nhấn Shift + 1, script sẽ khởi chạy đồng thời các ứng dụng Visual Studio Code, DataGrip và Docker. Các ứng dụng này thường mất khá nhiều thời gian để tải (ngay cả khi không có script), vì vậy đây là cơ hội hoàn hảo để tôi đi pha cà phê hoặc sắp xếp không gian làm việc. Đến khi tôi sẵn sàng làm việc, cả ba chương trình đã mở và sẵn sàng. Điều này giúp tôi tiết kiệm được gánh nặng tinh thần khi phải nhớ những chương trình nào tôi cần cho các dự án nhất định, và thời gian phải nhấp chuột để khởi chạy từng cái một.
Tôi đã tạo ra nhiều biến thể của script này cho các loại công việc khác nhau. Shift + 2 khởi chạy thiết lập viết lách của tôi với Notion, Google và Asana. Shift + 3 mở thiết lập thiết kế 3D của tôi, bao gồm Fusion 360, Creality Print và YouTube Music. Việc có các trình khởi chạy quy trình làm việc bằng một phím này giúp loại bỏ sự cản trở khi bắt đầu các loại dự án khác nhau, mang lại trải nghiệm làm việc mượt mà và hiệu quả hơn.
9. Giữ Cửa Sổ Quan Trọng Luôn Hiển Thị Trên Cùng
Có rất nhiều lúc tôi muốn một cửa sổ nào đó luôn hiển thị, chẳng hạn như khi tôi đang theo dõi một hướng dẫn, kiểm tra ghi chú hoặc trò chuyện. Windows không cung cấp cho bạn một cách dễ dàng để thực hiện điều này. Vì vậy, tôi đã tạo một script cho mục đích cụ thể này.
#Requires AutoHotkey v2.0
ScrollLock::
{
try
{
activeHwnd := WinGetID("A")
isTopMost := WinGetExStyle(activeHwnd) & 0x8 ; 0x8 = WS_EX_TOPMOST
WinSetAlwaysOnTop(!isTopMost, activeHwnd)
SetScrollLockState(isTopMost ? "Off" : "On")
ToolTip("Always On Top: " (isTopMost ? "OFF" : "ON"))
SetTimer(() => ToolTip(), -1000)
}
}
Với script trên, tôi có thể đơn giản nhấn phím Scroll Lock khi cửa sổ của tôi đang hoạt động, và nó sẽ luôn hiển thị trên cùng của mọi thứ khác. Script cung cấp cho tôi một chú giải công cụ nhanh và bật hoặc tắt đèn Scroll Lock trên bàn phím, để tôi luôn biết cửa sổ nào đang được ghim. Tôi sử dụng thủ thuật này mọi lúc khi tôi cần một cửa sổ tham chiếu tiện dụng mà không cần phải liên tục di chuyển mọi thứ xung quanh hoặc chuyển đổi qua lại. Scroll Lock là một lựa chọn tốt vì hầu hết mọi người không sử dụng nó cho bất kỳ mục đích nào khác, nhưng bạn có thể thay đổi nó thành một phím khác nếu muốn.
10. Ngăn Máy Tính Ngủ Đông Khi Đang Xử Lý Tác Vụ
Đôi khi tôi tải xuống và chuyển các tệp lớn trên máy tính của mình. Toàn bộ quá trình có thể mất vài phút đến vài giờ. Vấn đề của tôi là các lượt tải xuống thường bị gián đoạn do PC của tôi chuyển sang chế độ ngủ sau vài phút. Điều này luôn khiến tôi thất vọng vì việc cố gắng thử lại hoặc tiếp tục tải xuống thường thất bại. Để giải quyết vấn đề, tôi đã tạo một script gán vào các phím Ctrl + Alt + Shift + S để bỏ qua hiệu quả hệ thống ngủ của máy tính.
#Requires AutoHotkey v2.0
#SingleInstance Force
global on := false, endTime := 0
^!+s::
{
global on, endTime
if !on
{
hrs := InputBox("Enter hours (0 = infinite):", "Anti-Sleep").Value
if !IsNumber(hrs) || hrs < 0
return MsgBox("Invalid input.")
endTime := hrs ? A_TickCount + hrs*3600000 : 0
SetTimer(AntiSleep, 300000)
SetTimer(CheckEnd, 1000)
on := true
ToolTip("Anti-Sleep: ON" (hrs ? "`n" hrs "h" : ""), 500, 500)
SetTimer(() => ToolTip(), -1500)
}
else
{ ; Required braces for multi-line else block
SetTimer(AntiSleep, 0)
SetTimer(CheckEnd, 0)
on := false
ToolTip("Anti-Sleep: OFF", 500, 500)
SetTimer(() => ToolTip(), -1000)
}
}
AntiSleep() => (MouseMove(1,0,0,"R"), MouseMove(-1,0,0,"R"))
CheckEnd() => endTime && A_TickCount >= endTime && Send("^!+s")
^!+x::Send("^!+s")
Script hoạt động bằng cách di chuyển chuột một chút mỗi năm phút. Bằng cách này, PC của tôi không chuyển sang trạng thái nhàn rỗi và ngủ. Gần đây tôi cũng đã mở rộng script để bao gồm một bộ hẹn giờ để tự động tắt script sau một thời gian nhất định. Script cũng hiển thị một chú giải công cụ nhỏ khi bạn kích hoạt hoặc hủy kích hoạt nó, vì vậy bạn luôn biết liệu nó có đang chạy hay không.
AutoHotkey thoạt nhìn có vẻ đáng sợ, nhưng bạn không cần phải hiểu mọi dòng mã để hưởng lợi từ nó. Hãy tải xuống AutoHotkey và bắt đầu với một hoặc hai script giải quyết các vấn đề mà bạn thực sự gặp phải. Một khi bạn cảm thấy thoải mái với cách chúng hoạt động, hãy dần dần thêm nhiều script hơn khi bạn khám phá những cách mới để cải thiện quy trình làm việc của mình. AutoHotkey là một công cụ mạnh mẽ để bạn cá nhân hóa và tự động hóa các tác vụ trên Windows, giúp công việc của bạn trở nên hiệu quả và thú vị hơn bao giờ hết.