Shortcut ช่วยเพิ่มประสิทธิภาพการทำงานมาก กดปุ่มลัดเดียว เข้าถึงฟังก์ชันที่ต้องหาบน Toolbar/Menu ได้ทันที แต่ไม่ทุกแอปมี Shortcut หรือ Shortcut ที่มีอาจไม่ทำสิ่งที่เราต้องการ
บทความนี้สอนใช้ AutoHotkey เขียนสคริปต์ง่ายๆ เพื่อเปิดใช้ Shortcut ต่างๆ ตามชื่อหน้าต่างที่ Active อยู่ สร้าง Keyboard Shortcut ให้แอปทุกตัวได้ตามใจ
สร้างสคริปต์พื้นฐาน
- ติดตั้ง AutoHotkey (ดาวน์โหลดจากเว็บไซต์อย่างเป็นทางการ)
- สร้างโฟลเดอร์เก็บสคริปต์ > คลิกขวา > New > AutoHotkey Script > ตั้งชื่อ
- คลิกขวาสคริปต์ > Edit (จะเปิดใน Notepad)
- สคริปต์จะมีโค้ดแนะนำอยู่แล้ว ให้เว้นบรรทัด 2-3 บรรทัด แล้วเพิ่มโค้ด:
#if WinActive("TYPE FILENAME") #if
#if ตัวที่สองคือปิดเงื่อนไข TYPE FILENAME เป็น placeholder สำหรับค่าที่จะได้จาก Window Spy
หา Window ID ด้วย Window Spy
ลองเพิ่มฟังก์ชันเฉพาะหน้า Make Tech Easier
- เพิ่มโค้ดทดสอบ:
Msgbox, Done?
บันทึก > รันสคริปต์ (ดับเบิลคลิก) จะขึ้น Message Box - ทิ้ง Message Box ไว้ > คลิกขวาไอคอน AutoHotkey (สีเขียว) ใน System Tray > เลือก "Window Spy"
- เปิด Browser ไปที่ Make Tech Easier ดูส่วนบนของ Window Spy จะมีรายละเอียดหน้าต่างที่ Active ต้องใช้
ahk_class,ahk_exeหรือahk_pidใช้ahk_exeเช่น Firefox จะได้ahk_exe firefox.exe - คัดลอก
ahk_exe firefox.exeกลับไปแก้สคริปต์:
#if WinActive("NAME") And WinActive("TYPE FILENAME")แทนที่ "NAME" ด้วยส่วนหนึ่งของชื่อหน้าต่าง (เช่น "make" จาก Make Tech Easier) และ "TYPE FILENAME" ด้วยค่าที่คัดลอก (ahk_exe firefox.exe)
เพิ่ม Shortcut
เพิ่ม m:: ก่อน Msgbox, Done? สคริปต์จะเป็น:
#if WinActive("make") And WinActive("ahk_exe firefox.exe") m:: Msgbox, Done? return #if
ลองรันสคริปต์ใหม่ กด m ปกติไม่เกิดอะไร แต่ไปที่ Make Tech Easier บน Firefox กด m จะขึ้น Message Box สร้าง Shortcut เฉพาะหน้าต่างสำเร็จ!
เปลี่ยน Message Box ให้ทำงานจริง แทนโค้ดระหว่าง #if ด้วย:
^b:: Send, I just copied %Clipboard% return
รันใหม่ ลองไปที่ช่องคอมเมนต์ Make Tech Easier กด Ctrl+B จะพิมพ์ "I just copied [คลิปบอร์ด]" อัตโนมัติ เปลี่ยนข้อความได้ตามต้องการ
สัญลักษณ์สำหรับสร้าง Shortcut ใน AutoHotkey:
- # = Windows Key
- ^ = Control
- ! = Alt
- + = Shift
คำสั่ง Send ส่งข้อความไปที่หน้าต่าง Active สามารถ Remap Shortcut ได้ เช่น #b:: Send, ^c return ทำให้ Win+B ทำงานเป็น Ctrl+C
สร้าง Shortcut หลายตัวได้ แต่ต้องอยู่ใน #if แยกกันตามหน้าต่างเป้าหมาย
วิธีสร้าง Shortcut ให้แอป/หน้าต่างอื่น:
- คัดลอกสคริปต์ ตั้งชื่อใหม่
- แก้ "NAME" และ "TYPE FILENAME" ให้ตรงกับแอป/หน้าต่างใหม่
- เพิ่ม Shortcut, Text Expansion, ฟังก์ชันต่างๆ ตามต้องการ
ตอนนี้คุณรู้จักสร้าง App-specific Shortcut ด้วย AutoHotkey แล้ว ลองต่อยอดไปใช้ AutoHotkey ทำ Automation อื่นๆ ใน Windows ได้อีกมากมาย