สร้างปุ่มคีย์ลัด เปิดปิด ใช้งานโปรแกรม AutoIt HotKey

คีย์ลัด คืออะไร บางคนอาจไม่เข้าใจผมขออธิบายง่ายๆนะครับ ยกตัวอย่างเช่น เราพิมพ์งานหรือพิมพ์เอกสารในโปรแกรมอะไรซักอย่างนึงเสร็จ ต้องการบันทึก เราก็ต้องนำเมาส์ไปกด File > Save ซึ่งต้องทำถึง 2ขั้นตอนถึงบันทึกได้ วิธีเร็วขึ้นมาอีกก็กด Ctrl+S เป็นคำลั่งลัดในการบันทึก โดยคีย์ลัดที่จะนำมาเขียนกันในวันนี้มีลักษณะการทำงานใกล้เคียงกัน หรืออาจจะดีกว่าเลยหละผมว่า ฮ่าๆ เช่น กดปุ่ม F1 เพียงครั้งเดียว สามารถสั่งให้โปรแกรมเปิดเองได้ กด ESC สามารถปิดโปรแกรมได้ในครั้งเดียว หรือสามารถนำไปค่อยอดกับ บทความถัดๆไปได้อีกเช่น กด F1 โปรแกรมเริ่มทำงาน กดคลิก Skill จับค่าสีมอนเตอร์ กดปุ่มอะไรต่างๆนั่นเอง

Code

HotKeySet("{F1}", "start")

อธิบาย
HotKeySet คือชื่อคำสั่งตั้งค่าปุ่มคีย์ลัด
"{F1}" คือชื่อปุ่มที่เราต้องการกำหนดให้เป็นคีย์ลัด โดยสามารใช้ปุ่มอื่นได้ตามแต่กำหนด
"start" จะเป็นชื่อของฟังก์ชั่นที่เราสร้างขึ้นโดยฟังก์ชั่นนี้จะถูกเรียกใช้งานก็ต่อเมื่อ กดปุ่มเสียก่อน
ใช้ควบคู่กับ code Function

While 1
ToolTip("")
WEnd

Func start()
     MsgBox( 0, "แจ้งเตือน", "ปุ่มลัดถูกเรียกใช้งานแล้ว")
EndFunc
อธิบาย
คำสั่ง While อันนี้ใส่ไว้เพื่อไม่ให้โปรแกรมหยุดทำงานหลังจากรันเฉยๆนะครับ คือให้มันเช็คไปเรื่อยๆ
Func start() คือ การประกาศสร้างฟังก์ชั่นขึ้นมาชื่อว่า start
MsgBox( 0, "แจ้งเตือน", "ปุ่มลัดถูกเรียกใช้งานแล้ว") คือ เมื่อกดปุ่ม F1 ฟังก์ชั่นทำงานให้แสดงหน้าต่างป้อปอัพขึ้นมาให้เรารู้
EndFunc คือ ปิดการทำงานของฟังก์ชั่นชุดนี้ อย่าลืมถ้าเปิดแล้วต้องปิดด้วย ไม่งั้นโปรแกรม error
การประยุกต์ใช้งาน ยกตัวอย่างเช่น สั่งให้เปิดโปรแกรม Notepad เมื่อกด F1

HotKeySet("{F1}", "start")
Func start()
     Run("notepad.exe)
EndFunc

อาจเพิ่มฟังก์ชั่นเข้าไปอีกอย่าง ปิดโปรแกรมกด ESC

HotKeySet("{ESC}", "end")
Func start()
     Exit
EndFunc

Code แบบเต็มเปิดและปิด Notepad
HotKeySet("{F1}", "start")
HotKeySet("{ESC}", "end")

 While 1
 ToolTip("")
WEnd

 HotKeySet("{F1}", "start")

 Func start()
     Run("notepad.exe")
EndFunc

 Func end()
     WinClose("Untitled - Notepad");บรรทัดนี้คือ สั่งปิด Notepad โดยจับค่า Title ของโปรแกรม
  Exit
EndFunc

 
Tip : AutoIt Windows Info สามารถใช้ในการหาค่าตำแหน่ง ค่าสี Title,Class และอื่นๆได้

แสดงความคิดเห็น

0 ความคิดเห็น