วิธีการเขียนสคริปต์ AutoHotkey
AutoHotkey เป็นซอฟต์แวร์ที่ยอดเยี่ยม แต่ซับซ้อน ในตอนแรกมีจุดประสงค์เพื่อเชื่อมโยงปุ่มลัดที่กำหนดเองกลับเข้ากับการกระทำต่างๆ แต่ตอนนี้เป็นชุดระบบอัตโนมัติของ Windows เต็มรูปแบบ
AHK ไม่ใช่เรื่องยากที่จะเรียนรู้สำหรับผู้ใช้ใหม่เนื่องจากแนวคิดทั่วไปค่อนข้างง่าย แต่เป็นภาษาการเขียนโปรแกรมแบบทัวริงที่สมบูรณ์ คุณจะใช้ไวยากรณ์ได้ง่ายขึ้นมากหากคุณมีพื้นฐานการเขียนโปรแกรมหรือคุ้นเคยกับแนวคิด
การติดตั้งและใช้ AutoHotkey
กระบวนการติดตั้งของ AutoHotkey นั้นตรงไปตรงมา ดาวน์โหลดตัวติดตั้งจากเว็บไซต์ทางการและเรียกใช้งาน เลือก "การติดตั้งด่วน" หลังจากติดตั้งซอฟต์แวร์แล้วคุณสามารถคลิกขวาที่ใดก็ได้แล้วเลือกใหม่> AutoHotkey Script เพื่อสร้างสคริปต์ใหม่
สคริปต์ AHK คือไฟล์ข้อความที่มี.ahk
นามสกุล หากคุณคลิกขวาคุณจะมีตัวเลือกต่างๆดังนี้
- “ เรียกใช้สคริปต์” จะโหลดสคริปต์ของคุณด้วยรันไทม์ AHK
- “ สคริปต์คอมไพล์” จะรวมเข้ากับไฟล์ปฏิบัติการ AHK เพื่อสร้างไฟล์ EXE ที่คุณสามารถเรียกใช้
- “ แก้ไขสคริปต์” จะเปิดสคริปต์ของคุณในโปรแกรมแก้ไขข้อความเริ่มต้น คุณสามารถใช้ Notepad เพื่อเขียนสคริปต์ AHK ได้ แต่เราขอแนะนำให้ใช้ SciTE4AutoHotkey ซึ่งเป็นโปรแกรมแก้ไขสำหรับ AHK ซึ่งรองรับการเน้นไวยากรณ์และการดีบัก
ในขณะที่สคริปต์กำลังทำงานไม่ว่าจะเป็น EXE หรือไม่ก็ตามคุณจะพบว่าสคริปต์ทำงานอยู่เบื้องหลังในพื้นที่แจ้งเตือนของ Windows หรือที่เรียกว่าซิสเต็มเทรย์ มองหาไอคอนสีเขียวที่มี "H" อยู่
หากต้องการออกหยุดชั่วคราวโหลดซ้ำหรือแก้ไขสคริปต์ให้คลิกขวาที่ไอคอนการแจ้งเตือนและเลือกตัวเลือกที่เหมาะสม สคริปต์จะยังคงทำงานอยู่เบื้องหลังจนกว่าคุณจะออกจากสคริปต์ นอกจากนี้ยังจะหายไปเมื่อคุณออกจากระบบ Windows หรือรีบูตพีซีของคุณแน่นอน
AutoHotkey ทำงานอย่างไร
ที่แกนหลัก AHK ทำสิ่งหนึ่งนั่นคือผูกการกระทำกับปุ่มลัด มีการกระทำที่แตกต่างกันการรวมปุ่มลัดและโครงสร้างการควบคุมมากมาย แต่สคริปต์ทั้งหมดจะทำงานบนหลักการเดียวกัน นี่คือสคริปต์ AHK พื้นฐานที่เปิด Google Chrome เมื่อใดก็ตามที่คุณกด Windows + C:
#c :: เรียกใช้ Chrome return
บรรทัดแรกกำหนดฮ็อตคีย์ เครื่องหมายปอนด์ (#) ย่อมาจากแป้น Windows และc
เป็นแป้น C บนแป้นพิมพ์ หลังจากนั้นจะมีเครื่องหมายจุดคู่ (: :) เพื่อแสดงถึงจุดเริ่มต้นของบล็อกการดำเนินการ
บรรทัดถัดไปคือการกระทำ ในกรณีนี้การดำเนินการเปิดแอปพลิเคชันด้วยRun
คำสั่ง บล็อกเสร็จสิ้นด้วยreturn
การสิ้นสุด คุณสามารถมีการดำเนินการจำนวนเท่าใดก็ได้ก่อนหน้าไฟล์return
. พวกเขาทั้งหมดจะยิงตามลำดับ
เช่นเดียวกับที่คุณได้กำหนดการแมปคีย์ - แอคชันง่ายๆ คุณสามารถวางสิ่งเหล่านี้ได้มากเท่าที่คุณต้องการใน.ahk
ไฟล์และตั้งค่าให้ทำงานในพื้นหลังโดยมองหาปุ่มลัดเพื่อทำการแมปใหม่เสมอ
ปุ่มลัดและตัวปรับแต่ง
คุณสามารถดูรายการโมดิฟายเออร์ทั้งหมดของ AHK ได้ในเอกสารอย่างเป็นทางการ แต่เราจะเน้นไปที่คุณสมบัติที่มีประโยชน์ที่สุด (และเจ๋ง)
คีย์ตัวปรับแต่งทั้งหมดมีตัวย่ออักขระเดียว ตัวอย่างเช่น# ! ^ +
Windows, Alt, Control และ Shift ตามลำดับ นอกจากนี้คุณยังสามารถแยกความแตกต่างระหว่าง Alt, Control และ Shift ด้านซ้ายและขวาด้วยตัวปรับแต่ง<
และ>
ตัวปรับแต่งซึ่งจะเปิดช่องว่างสำหรับปุ่มลัดพิเศษ ตัวอย่างเช่น + คือ Shift ที่ถูกต้อง ดูรายการสำคัญสำหรับทุกสิ่งที่คุณสามารถอ้างอิงได้ (สปอยเลอร์: คุณสามารถอ้างอิงได้เกือบทุกคีย์คุณยังอ้างอิงอุปกรณ์อินพุตอื่น ๆ ที่ไม่ใช่คีย์บอร์ดที่มีนามสกุลขนาดเล็กได้ด้วย)
คุณสามารถรวมคีย์ได้มากเท่าที่คุณต้องการเป็นฮ็อตคีย์เดียว แต่ในไม่ช้าคุณจะไม่มีคีย์ผสมที่ต้องจดจำ นี่คือที่ที่ตัวดัดแปลงซึ่งช่วยให้คุณทำสิ่งที่บ้าคลั่งได้เข้ามาลองแยกตัวอย่างจากเอกสาร AHK:
สีเขียว#IfWinActive
เรียกว่า คำสั่งและใช้บริบทเพิ่มเติมกับปุ่มลัดที่อยู่ด้านล่างในสคริปต์ ฮ็อตคีย์ใด ๆ หลังจากนั้นจะเริ่มทำงานก็ต่อเมื่อเงื่อนไขนั้นเป็นจริงและคุณสามารถจัดกลุ่มฮ็อตคีย์หลายตัวภายใต้คำสั่งเดียวได้ คำสั่งนี้จะไม่เปลี่ยนแปลงจนกว่าคุณจะไปถึงคำสั่งอื่น แต่คุณสามารถรีเซ็ตได้โดยเว้นว่าง#If
(และหากดูเหมือนว่าเป็นการแฮ็กยินดีต้อนรับสู่ AHK)
ahk_class Notepad
สั่งนี่คือการตรวจสอบหากมีหน้าต่างที่เฉพาะเจาะจงเปิดที่กำหนดโดย เมื่อ AHK ได้รับอินพุต“ Win + C” มันจะเริ่มการทำงานภายใต้#IfWinActive
คำสั่งแรกก็ต่อเมื่อคำสั่งส่งคืนเป็นจริงจากนั้นตรวจสอบคำสั่งที่สองหากไม่เป็นเช่นนั้น AHK มีคำสั่งมากมายและคุณสามารถค้นหาคำสั่งทั้งหมดได้ในเอกสาร
AutoHotkey ยังมี hotstrings ซึ่งทำหน้าที่เหมือนปุ่มลัดยกเว้นการแทนที่สตริงข้อความทั้งหมด สิ่งนี้คล้ายกับวิธีการทำงานของการแก้ไขอัตโนมัติที่จริงแล้วมีสคริปต์การแก้ไขอัตโนมัติสำหรับ AHK แต่รองรับการทำงานของ AHK
hotstring จะจับคู่สตริงก็ต่อเมื่อพิมพ์ตรงกันเท่านั้น มันจะลบข้อความที่ตรงกันโดยอัตโนมัติเพื่อแทนที่ hotstring เช่นกันแม้ว่าจะสามารถปรับพฤติกรรมนี้ได้
การดำเนินการ
การดำเนินการใน AHK คือสิ่งใดก็ตามที่มีผลกระทบภายนอกระบบปฏิบัติการ AHK มีแอคชั่นมากมาย เราไม่สามารถอธิบายได้ทั้งหมดดังนั้นเราจะเลือกสิ่งที่มีประโยชน์
- การส่งข้อมูลไม่ว่าจะเป็นข้อความหรือการกดปุ่มต่างๆ
- เลื่อนเมาส์ไปรอบ ๆ ในความเป็นจริงบางครั้ง AHK ถูกตั้งค่าสถานะอย่างไม่ถูกต้องว่าเป็นซอฟต์แวร์โกงสำหรับวิดีโอเกมเนื่องจากผู้คนได้สร้าง aimbots ที่ทำงานได้อย่างเต็มที่
- คลิกเมาส์โดยวางตำแหน่งที่สัมพันธ์กับหน้าต่างปัจจุบัน
- การแสดงเมนูโต้ตอบพร้อมแบบฟอร์มและช่องป้อนข้อมูล
- เลื่อนหน้าต่างไปรอบ ๆ ปรับขนาดและเปิดและปิด
- เล่นดนตรี.
- การเขียนลง Windows Registry ใช่จริงๆ.
- การแก้ไขเนื้อหาของคลิปบอร์ด
- การอ่านและเขียนไฟล์ คุณสามารถวนซ้ำไฟล์และเรียกใช้การดำเนินการในแต่ละบรรทัด AHK สามารถเขียนลง
.ahk
ไฟล์และปรับรหัสของตัวเองได้
การดำเนินการเหล่านี้ส่วนใหญ่จะมีคำสั่งที่เน้นข้อมูลเกี่ยวข้องด้วย ตัวอย่างเช่นคุณสามารถเขียนลงในคลิปบอร์ดได้ แต่คุณยังสามารถรับเนื้อหาของคลิปบอร์ดเพื่อเก็บไว้ในตัวแปรและเรียกใช้ฟังก์ชันเมื่อคลิปบอร์ดเปลี่ยนไป
ผูกมันทั้งหมดด้วยโครงสร้างการควบคุม
AHK จะไม่เป็นอย่างที่เป็นอยู่หากไม่มีโครงสร้างการควบคุมทั้งหมดที่ทำให้ทัวริงสมบูรณ์
นอกจาก#If
คำสั่งแล้วคุณยังสามารถเข้าถึงIf
ด้านในของบล็อกการดำเนินการได้อีกด้วย AHK มีFor
ลูปบล็อกวงเล็บปีกกาTry
และCatch
ข้อความและอื่น ๆ อีกมากมาย คุณสามารถเข้าถึงข้อมูลภายนอกจากภายในบล็อกการดำเนินการและเก็บไว้ในตัวแปรหรือวัตถุเพื่อใช้ในภายหลัง คุณสามารถกำหนดฟังก์ชันและป้ายกำกับแบบกำหนดเองได้ จริงๆแล้วอะไรก็ตามที่คุณสามารถทำได้อย่างง่ายดายในภาษาโปรแกรมอื่นที่คุณสามารถทำได้ใน AHK ด้วยอาการปวดหัวเล็กน้อยและดูเอกสาร
ตัวอย่างเช่นสมมติว่าคุณมีงานที่น่าเบื่อและซ้ำซากจำเจที่คุณต้องคลิกปุ่มหลาย ๆ ปุ่มติดต่อกันและรอให้เซิร์ฟเวอร์ตอบกลับก่อนที่จะทำซ้ำอีกครั้งในโฆษณา infinitum คุณสามารถใช้ AHK เพื่อทำสิ่งนี้โดยอัตโนมัติ คุณต้องการกำหนดสองสามลูปเพื่อเลื่อนเมาส์ไปยังตำแหน่งที่ต้องการคลิกจากนั้นย้ายไปยังจุดถัดไปแล้วคลิกอีกครั้ง ทุ่มงบรอสักนิดเพื่อให้ไม่พัง คุณสามารถลองอ่านสีของพิกเซลบนหน้าจอเพื่อดูว่าเกิดอะไรขึ้น
สิ่งหนึ่งที่แน่นอนคือสคริปต์ของคุณอาจจะไม่สวย แต่ AutoHotkey ไม่ใช่และก็ไม่เป็นไร