Trong nhiều năm, tôi đã sử dụng script PowerShell để tự động hóa các tác vụ trên máy tính Windows của mình. Tuy nhiên, phần lớn chúng yêu cầu phải chạy thủ công, đôi khi khá bất tiện. Kể từ khi khám phá AutoHotkey (phiên bản 2), tôi đã có thể tái tạo lại những script này và gán chúng vào các phím tắt, biến chúng thành những tính năng dường như được tích hợp sẵn mà Microsoft “quên” nhắc đến. AutoHotkey không chỉ giúp tự động hóa công việc mà còn tối ưu hóa quy trình làm việc, mang lại hiệu quả vượt trội.
Với vai trò là một chuyên gia công nghệ đã dày dạn kinh nghiệm, tôi sẽ chia sẻ 10 script AutoHotkey mạnh mẽ nhất mà tôi đã tự mình trải nghiệm và ứng dụng hàng ngày. Những thủ thuật này không chỉ nâng cao năng suất mà còn cải thiện đáng kể trải nghiệm sử dụng Windows của bạn, giúp bạn làm việc nhanh hơn, thông minh hơn và hiệu quả hơn. Hãy cùng khám phá những giải pháp tự động hóa đột phá này!
1. Menu Khởi Chạy Ứng Dụng Nhanh Cá Nhân Hóa
Các ứng dụng 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 thường xuyên. Tuy nhiên, thỉnh thoảng tôi vẫn cần tìm những ứng dụng này để sử dụng nhanh. Thay vì phải lục lọi trong menu Start hay các biểu tượng trên màn hình, tôi đã tạo một menu tùy chỉnh. Menu này 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 AutoHotkey dưới đây.
#Requires AutoHotkey v2.0<p>#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()}</p>
Menu của tôi được thiết lập sẵn 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 các ứng dụng yêu thích của riêng mình. Muốn thêm Notion vào menu? Chỉ cần sao chép một dòng hiện có, đổ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 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 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 ít khi 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 được vô số khoảnh khắc phiền toái nhỏ nhặt, cộng dồn lại sẽ thấy sự khác biệt lớn trong hiệu suất công việc.
2. Cuộn Ngang Nhất Quán Trên Mọi Ứng Dụng
Thao tác giữ Shift + Cuộn chuột để cuộn ngang không hoạt động với tất cả các ứng dụng mà tôi sử dụng. Đáng tiếc là tôi lại thường xuyên cần đến hành động này, đặc biệt khi xem các đoạn mã code hoặc thiết kế trong CAD. Vì vậy, tôi đã tự tạo script riêng để đảm bảo tính năng cuộn ngang hoạt động nhất quán với bất kỳ ứng dụng nào tôi dùng.
Hãy tạo một script với đoạn mã sau để có phiên bản của riêng bạn:
#Requires AutoHotkey v2.0<p>#HotIf GetKeyState("Shift", "P")WheelUp::Send("{WheelLeft}")WheelDown::Send("{WheelRight}")#HotIf</p>
Bằng cách giữ phím 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ừ bảng tính Excel, trình chỉnh sửa ảnh cho đến trình duyệt web với nội dung rộng. Đây là một cải tiến nhỏ nhưng mang lại hiệu quả lớn cho trải nghiệm làm việc hàng ngày của tôi, đặc biệt khi phải xử lý các tài liệu hoặc giao diện có chiều rộng lớn.
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 của mình bằng cách sử dụng nhiều thư mục. 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 gán vào Ctrl + ALT + D để mở ngay lập tức một thư mục dự án đã định.
Đây là script:
#Requires AutoHotkey v2.0<p>^!d::Run('explorer.exe "C:UsersjricmDownloads"')</p>
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 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, Documents của tôi, và thậm chí cả các thư mục dự án cụ thể mà tôi đang làm việc. Đây là một thủ thuật đơn giản nhưng tiết kiệm đáng kể thời gian tìm kiếm và truy cập các thư mục quan trọng.
4. Viết Tắt Nhanh Cho Các 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 AutoHotkey cho phép tôi sử dụng các phím tắt cho các cụm từ thông dụng mà tôi thường dùng. Hãy tạo script này để tự mình trải nghiệm:
#Requires AutoHotkey v2.0#SingleInstance Force<p>::gm::Good morning::ty::Thank you::brb::Be right back</p>
Với ví dụ này, bất cứ khi nào tôi gõ “gm” theo sau là một phím Space (hoặc Enter), nó sẽ ngay lập tức mở rộng thành “Good morning”. Tương tự với “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ể nhập liệu và tôi thấy nó đặc biệt hữu ích khi phản hồi tin nhắn trong 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 sự chuyên nghiệp hơn 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. Mặc dù có nhiều cách khác để chèn các ký tự đặc biệt bằng phím tắt Windows, tôi nhận 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 Tùy Chỉnh Cho Bàn Phím
Các điều khiển âm lượng của Windows luôn khiến tôi cảm thấy khó sử dụng. 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 điều chỉnh âm lượng trên bàn phím, vốn 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 thứ gì đó nhanh hơn và trực quan hơn.
Vì ngón tay tôi luôn đặt sẵn trên hàng phím cơ sở (home row keys), 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 để bật/tắt tiếng là hợp lý. Đây là script tôi đã sử dụng:
#Requires AutoHotkey v2.0#SingleInstance Force<p>^,::Send("{Volume_Down}") ; Ctrl + ^.::Send("{Volume_Up}") ; Ctrl + > (period)^m::Send("{Volume_Mute}") ; Ctrl + M</p>
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 đang trong 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ó 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 Windows 11 của bạn, tôi vẫn ưu tiên sử dụng AutoHotkey. Nó mô phỏng 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 của Windows. 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 muốn 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.
6. Tập Trung Con Trỏ Chuột Tức Thì
Tính năng 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 thiết lập đa màn hình hoặc một màn hình siêu rộng. Phím tắt này sẽ đưa con trỏ chuột của bạn về trung tâm cửa sổ đang hoạt động 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 khỏ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 trỏ chuột của tôi đã kết thúc ở đâu.
Bạn có thể sửa đổi script này để tập trung con trỏ vào 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 này có thể thực hiện được với một sửa đổi nhỏ về 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 bằng AutoHotkey |
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 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 khổng lồ. Tôi đã cố gắng giữ ngăn nắp thủ công, nhưng ai có thời gian để sắp xếp tệp khi bạn đang làm việc dở dang?
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 tôi và di chuyển các tệp đến các thư mục con phù hợp. Tệp PDF và Word đi 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.0downloads:="C:UsersjricmDownloads", interval:=5000ext:=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ý các 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 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 loại phần mở rộng tệp khác bằng cách thêm loại phần 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 kịp 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. Đây là một giải pháp tự động hóa hiệu quả, giúp thư mục tải xuống của bạn luôn ngăn nắp mà không tốn công sức.
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 các Màn hình ảo (Virtual Desktops) của Windows để sắp xếp 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. Đây là script tôi sử dụng:
#Requires AutoHotkey v2.0<p>+1:: { Run('"C:UsersjricmAppDataLocalProgramsMicrosoft VS CodeCode.exe"') Run('"C:Program FilesJetBrainsDataGrip 2023.3.4bindatagrip64.exe"') Run('"C:Program FilesDockerDockerDocker Desktop.exe"')}</p>
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. Những ứng dụng này thường mất khá nhiều thời gian để tải (ngay cả khi không dùng 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 không phải nhớ những chương trình nào mình cần cho các dự án nhất định, và tiết kiệm thời gian nhấp chuột để khởi chạy từng ứng dụng.
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ó những công cụ khởi chạy quy trình làm việc chỉ bằng 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, từ đó nâng cao hiệu suất làm việc tổng thể.
9. Giữ Cửa Sổ Quan Trọng Luôn Hiển Thị Trên Cùng
Có rất nhiều lần tôi muốn một cửa sổ hiển thị luôn trên cùng, chẳng hạn như khi tôi đang làm theo 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 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<p>ScrollLock:: { try { activeHwnd := WinGetID("A") isTopMost := WinGetExStyle(activeHwnd) & 0x8 ; 0x8 = WS_EX_TOPMOST</p><p> WinSetAlwaysOnTop(!isTopMost, activeHwnd) SetScrollLockState(isTopMost ? "Off" : "On")</p><p> ToolTip("Always On Top: " (isTopMost ? "OFF" : "ON")) SetTimer(() => ToolTip(), -1000) }}</p>
Với script trên, tôi chỉ cần nhấn phím Scroll Lock khi cửa sổ đang hoạt động, và nó sẽ luôn hiển thị trên cùng của mọi thứ khác. Script hiển thị 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, để 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 cần một cửa sổ tham chiếu tiện dụng mà không phải liên tục di chuyển mọi thứ 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 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ủ Để Duy Trì Tác Vụ
Đô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 tệp 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 không thành công. Để 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<p>global on := false, endTime := 0</p><p>^!+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) }}</p><p>AntiSleep() => (MouseMove(1,0,0,"R"), MouseMove(-1,0,0,"R"))CheckEnd() => endTime && A_TickCount >= endTime && Send("^!+s")^!+x::Send("^!+s")</p>
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, máy tính của tôi không bị rảnh rỗi và chuyển sang chế độ ngủ. Gần đây tôi cũng đã mở rộng script để bao gồm một bộ đếm thời gian để hủy kích hoạ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.
Bắt đầu hành trình tự động hóa với AutoHotkey
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 về AutoHotkey và bắt đầu với một hoặc hai script giải quyết các vấn đề thực tế mà bạn gặp phải. Khi bạn đã quen 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 không chỉ là một công cụ; nó là một cánh cửa mở ra khả năng tự động hóa vô tận, giúp bạn biến máy tính của mình thành một trợ lý cá nhân hiệu quả. Hãy bắt đầu ngay hôm nay để trải nghiệm sự khác biệt!
Bạn đã từng sử dụng AutoHotkey chưa? Đâu là script yêu thích của bạn hoặc vấn đề nào bạn muốn giải quyết bằng AutoHotkey? Hãy chia sẻ kinh nghiệm và ý tưởng của bạn trong phần bình luận bên dưới! Hoặc nếu bạn muốn khám phá thêm các thủ thuật công nghệ khác, hãy truy cập các bài viết liên quan của chúng tôi trên khoahoccongnghe.net!