Trong thời đại số hóa, khả năng tự động hóa và tối ưu hóa các tác vụ hàng ngày trên máy tính đóng vai trò then chốt trong việc nâng cao năng suất cá nhân và hiệu quả công việc. Đối với người dùng Windows, AutoHotkey (phiên bản 2) nổi lên như một công cụ mạnh mẽ, cho phép biến những thao tác thủ công, lặp đi lặp lại thành các tính năng tự động tiện lợi, tích hợp sâu vào hệ điều hành. Từ việc khởi chạy ứng dụng tức thì đến việc sắp xếp tập tin một cách thông minh, AutoHotkey mở ra không gian rộng lớn để cá nhân hóa trải nghiệm sử dụng máy tính, giúp bạn làm việc nhanh hơn, thông minh hơn và ít gặp phiền toái hơn.
Bài viết này, dựa trên những kinh nghiệm thực tế, sẽ giới thiệu 10 script AutoHotkey v2 độc đáo, đã được tôi tái tạo và sử dụng hàng ngày. Những thủ thuật này không chỉ giúp tiết kiệm thời gian mà còn mang lại cảm giác các tính năng tùy chỉnh này như thể đã được Microsoft tích hợp sẵn vào Windows. Hãy cùng khám phá cách AutoHotkey có thể định hình lại quy trình làm việc của bạn, biến những ý tưởng tự động hóa phức tạp thành hiện thực chỉ với vài dòng mã đơn giản.
10. Menu Khởi Chạy Ứng Dụng Nhanh Cá Nhân Hóa
Các ứng dụng cơ bản như Notepad, Calculator hay Paint thường không xuất hiện trên màn hình nền của tôi vì chúng không quá quan trọng để truy cập liên tục. Tuy nhiên, đôi khi tôi vẫn cần tìm chúng để sử dụng nhanh. Thay vì phải lục tìm trong 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 nhấn tổ hợp phím Windows Key+M bằng script dưới đây.
#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()
}
Menu khởi chạy ứng dụng nhanh cá nhân hóa với AutoHotkey
Tôi đã thiết lập menu của mình với Calculator, Sticky Notes, MS Paint và Notepad. Tuy nhiên, bạn có thể dễ dàng sửa đổi script này để thêm các ứng dụng yêu thích của riêng mình. Muốn thêm Notion? Chỉ cần nhân đôi một 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à chèn vào trong cặp dấu ngoặc đơn của lệnh Run.
Tôi thực sự yêu thích menu tùy chỉnh này. Chỉ cần nhấn Windows+M, nhấp vào ứng dụng muốn mở là 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à tôi hiếm khi cần dùng đó. Tôi sử dụng tính năng này nhiều lần trong ngày, giúp tiết kiệm những khoảnh khắc nhỏ nhưng tích lũy đáng kể, loại bỏ sự cản trở trong công việc.
9. Cuộn Ngang Nhất Quán Cho Mọi Ứng Dụng
Thao tác giữ Shift+Cuộn chuột để cuộn ngang không hoạt động nhất quán với tất cả các ứng dụng mà tôi sử dụng. Đáng tiếc, tôi thường xuyên sử dụng hành động này, đặc biệt khi xem các đoạn mã hoặc thiết kế trong CAD. Vì vậy, tôi đã tạo script riêng để làm cho tính năng cuộn ngang hoạt động với bất kỳ ứng dụng nào tôi cần.
Hãy tạo một script với nội dung sau để tạo phiên bản của riêng bạn:
#Requires AutoHotkey v2.0
#HotIf GetKeyState("Shift", "P")
WheelUp::Send("{WheelLeft}")
WheelDown::Send("{WheelRight}")
#HotIf
Bằng cách giữ Shift và cuộn bánh xe chuột, tôi có thể cuộn sang trái và phải thay vì lên hoặc xuống. Tính năng này hoạt động trong bất kỳ chương trình nào hỗ trợ cuộn ngang, từ các bảng tính Excel đến trình chỉnh sửa ảnh hay trình duyệt web có nội dung rộng.
8. Truy Cập Thư Mục Bất Kỳ Tức Thì
Tôi thường tổ chức các tệp của mình bằng cách sử dụng nhiều thư mục lồng nhau. 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ể phải 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 liên kết với tổ hợp phím Ctrl+Alt+D để ngay lập tức mở một thư mục dự án được chỉ định.
Dưới đâ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 (có dấu ngoặc kép) ngay sau ‘explorer.exe’. Tất nhiên, bạn cũng có thể thay đổi các phím tắt bằng cách sử dụng các ký hiệu bổ trợ của AutoHotkey.
Điều tôi thích ở phương pháp này là khả năng tùy chỉnh cao một khi bạn hiểu được cấu trúc. Tôi đã tạo các biến thể để mở thư mục Desktop, thư mục Documents và thậm chí cả các thư mục dự án cụ thể mà tôi đang làm việc.
7. Mở Rộng Văn Bản Nhanh Chóng Cho Cụm Từ Hàng Ngày
Tôi thích ý tưởng sử dụng 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 AHK cho phép tôi sử dụng các phím tắt cho các 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 thử:
#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 là Space (hoặc Enter), nó sẽ ngay lập tức mở rộng thành “Good morning.” Tương tự, “ty” sẽ mở rộng thành “Thank you” và “brb” thành “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õ 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 nhất quán. Có nhiều cách khác để bạn có thể chèn các ký tự đặc biệt bằng phím tắt Windows, nhưng tôi thấy rằng AutoHotkey cung cấp khả năng tùy chỉnh tốt nhất.
6. Đ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 mang lại cảm giác bất tiện cho tôi. Bạn phải nhấp vào biểu tượng loa nhỏ trong khay hệ thống hoặc tìm các nút âm lượng trên bàn phím, điều này khó tìm thấy, đặ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 dán vào các phím home row, nên việc liên kết điều khiển âm lượng với CTRL + Dấu phẩy hoặc CTRL + Dấu chấm để điều khiển âm lượng, và CTRL + M để tắt và bật tiếng là điều hợp lý. Đây là script tôi đã sử dụng:
#Requires AutoHotkey v2.0
#SingleInstance Force
^,::Send("{Volume_Down}") ; Ctrl + < (comma)
^.::Send("{Volume_Up}") ; Ctrl + > (period)
^m::Send("{Volume_Mute}") ; Ctrl + M
Điều chỉnh âm lượng bằng bàn phím với AutoHotkey
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 hoặc phải loay hoay với chuột.
Mặc dù có một số 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 thích sử dụng AutoHotkey hơn. 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á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 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ó lẽ Ctrl+Plus và Ctrl+Minus cảm thấy tự nhiên hơn đối với bạn, hoặc có lẽ bạn muốn sử dụng các phím chức năng thay thế.
5. Căn Giữa Con Trỏ Chuột Tức Thì
Tính năng này nghe có vẻ đơn giản, nhưng nó lại cực kỳ hữu ích, đặc biệt nếu bạn làm việc với thiết lập nhiều màn hình hoặc một màn hình siêu rộng duy nhất. Phím tắt 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 đã thấy mình sử dụng nó suốt cả ngày. Dưới đâ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 của bạn 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 khỏi màn hình một phần. Tôi sử dụng tính năng này 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 tôi đã kết thúc ở đâ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 con trỏ của họ tự động di chuyển đến nút đóng trên Windows, điều mà bạn có thể thực hiện với một sửa đổi nhỏ về vị trí.
4. Tự Động Sắp Xếp Thư Mục Tải Xuống (Downloads)
![]() |
Trước khi |
---|---|
![]() |
Sau khi |
Thư mục Downloads của tôi trước đây là một mớ hỗn độn. Ảnh chụp màn hình lẫn lộn với tệp PDF, tệp nhạc cạnh các trình cài đặt ngẫu nhiên, mọi thứ đều bị đổ vào một đống lớn. Tôi đã cố gắng tự sắp xếp thủ công, nhưng ai có thời gian để sắp xếp tệp khi bạn đang bận làm việc thực sự?
Script phím tắt này chạy ngầm 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ứ sau năm giây 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. Tệp PDF và tài liệu Word đi vào thư mục “Docs”, hình ảnh vào “Images”, tệp nhạc vào “Music”, v.v. Dưới đâ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ày 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 nếu không thì 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 kịp các tệp tải xuống mới nhanh chóng mà không cần liên tục quét và làm chậm máy tính của bạn.
3. Khởi Chạy Nhiều Ứng Dụng Cùng Lúc Cho Quy Trình Làm Việc
Tôi 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 là 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 theo từng màn hình ảo. Để khắc phục, tôi đã sử dụng AutoHotkey để mở nhiều ứng dụng chỉ bằng một lần nhấn phím. Dưới đâ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 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 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 việc phải ghi 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 một vài 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 một phím này loại bỏ sự cản trở khi bắt đầu các loại dự án khác nhau.
2. Giữ Các 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ổ 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 với mọi người. Windows không cung cấp cho bạn một cách dễ dàng để làm đ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ể chỉ cần nhấn phím Scroll Lock khi cửa sổ của tôi đang hoạt động, và nó sẽ nằm trên tất cả mọi thứ khác. Script hiển thị 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 của tôi, vì vậy 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 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 cứ điều gì khác, nhưng bạn có thể thay đổi nó thành một phím khác nếu muốn.
1. Ngăn Máy Tính Ngủ Đông Khi Đang Xử Lý Tác Vụ Lâu Dài
Đôi khi tôi tải xuống và truyề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 máy tính của tôi chuyển sang chế độ ngủ sau vài phút. Điều này luôn khiến tôi bực bội vì việc 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 liên kết với các phím Ctrl+Alt+Shift+S để bỏ qua hệ thống ngủ của máy tính một cách hiệu quả.
#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
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")
Cài đặt hẹn giờ cho script chống ngủ đông của AutoHotkey
Script hoạt động bằng cách di chuyển chuột một chút cứ sau năm phút. Bằng cách này, máy tính của tôi không bị rảnh rỗi và đi vào chế độ ngủ. Gần đây tôi cũng đã mở rộng script để bao gồm một bộ hẹn giờ để tắt script sau một khoảng 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.
Kết Luận
AutoHotkey có thể thoạt nhìn có vẻ phức tạp, nhưng bạn không cần phải hiểu từng dòng mã để hưởng lợi từ nó. Với những script mà thuthuat365.net vừa giới thiệu, bạn đã có trong tay bộ công cụ mạnh mẽ để tối ưu hóa Windows, biến những thao tác nhàm chán thành những quy trình tự động mượt mà, giúp tăng năng suất làm việc lên một tầm cao mới. Từ việc tạo menu ứng dụng nhanh, sắp xếp thư mục tự động cho đến việc giữ máy tính luôn hoạt động khi cần, mỗi script đều là một giải pháp thiết thực cho những vấn đề thường gặp.
Hãy bắt đầu ngay hôm nay: tải AutoHotkey và thử nghiệm với một hoặc hai script giải quyết những vấn đề bạn thực sự gặp phải. Khi bạn đã quen với cách chúng hoạt động, hãy dần dần bổ sung thêm 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 không chỉ là một công cụ, mà còn là một cánh cửa mở ra khả năng tùy chỉnh vô tận cho trải nghiệm Windows của bạn. Hãy biến chiếc máy tính của bạn thành một trợ lý cá nhân hiệu quả hơn bao giờ hết!
Tài liệu tham khảo
- AutoHotkey v2 Hotkeys Documentation
- Windows Alt Codes: A Quick and Easy Way To Insert Special Characters
- How To Insert Special Characters With Keyboard Shortcuts On Windows
- How to Set Up Custom Volume Control Hotkeys on Windows 11
- Download AutoHotkey