Sep 22, 2009
Tuesday, September 22, 2009

ใช้ AutoIt สร้าง HotKey ปุ่มเดียว ปิดเปิดโปรแกรมได้ดั่งใจ :1

    โดยทั่วไปแล้วเมื่อเราเปิดเครื่องคอมขึ้นมา จะใช้งานโปรแกรมประจำอยู่เสมอ บางครั้งก็ต้องปิดเปิดโปรแกรมขึ้นมาทำงานหลายครั้ง เพื่อความสะดวกยิ่งขึ้น มาสร้างปุ่ม Hotkey เอาไว้เรียกใช้โปรแกรมจะดีกว่า ซึ่งถ้าจะยกตัวอย่างให้เห็นภาพก็เช่น

     หากคุณใช้ต้องเปิดปิดโปรแกรมเครื่องคิดเลขเป็นประจำ ก็สร้าง Hotkey สำหรับเปิดและปิดโปรแกรมด้วยปุ่ม F1 ที่คีย์บอร์ด หรือจะเปิดโปรแกรม Winamp ขึ้นมาฟังเพลงก็ทำปุ่ม Hotkey เป็นปุ่ม F2 เป็นต้น

    สำหรับการทำโปรแกรมดังกล่าว จำเป็นต้องใช้ AutoIt ในการทำ ถ้ายังไม่ได้ความรู้ ด้านนี้เลย ขอให้คุณอ่านบทความ AutoIt 2 บทนี้ก่อนเพื่อปูพื้นฐานในการเขียนและคอมไพล์โปรแกรม

http://pssix.blogspot.com/2008/09/autoit-1.html
http://pssix.blogspot.com/2008/09/autoit-2.html

ทีนี้มาดูคำสั่งที่จำเป็นต้องใช้ในการทำปุ่ม HotKey กันครับ

     HotKeySet เป็นคำสั่งสำหรับสร้างปุ่ม Hotkey เพื่อเรียกใช้งานฟั่งก์ชั่นที่กำหนด รูปแบบคำสั่งคือ HotKeySet ( "ชื่อปุ่มบนคีย์บอร์ดที่จะกำหนดเป็น Hotkey" [, "ชื่อฟังก์ชั่นที่จะให้ทำงานเมื่อกดปุ่ม"] )

ตัวอย่างการใช้คำสั่งเช่น

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

     Func … Endfunc เป็นคำสั่งสำหรับสร้างฟั่งก์ชั่นซึ่งรวมชุดคำสั่งอยู่ภายใน รูปแบบคำสั่งคือ

Func ตามด้วยชื่อฟังก์ชั่น (ตัวแปรที่จะส่งเข้ามาในฟังก์ชั่น ถ้าไม่มีก็ไม่ต้องใส่)
คำสั่งที่จะทำงานเมื่อเรียกใช้ฟั่งก์ชั่น
คำสั่งที่จะทำงานเมื่อเรียกใช้ฟั่งก์ชั่น
 คำสั่งที่จะทำงานเมื่อเรียกใช้ฟั่งก์ชั่น
Endfunc

ตัวอย่างการใช้คำสั่ง เพื่อเรียกโปรแกรม Winamp ขึ้นมาทำงาน เช่น

func start1()
run("C:\Program Files (x86)\Winamp\winamp.exe")
EndFunc


     while … wend เป็นคำสั่งสำหรับการวนลูปรอการกดปุ่ม Hotkey เราจะใช้ในคำสั่งชุดนี้เพื่อให้โปรแกรมยังคงทำงานอยู่ เพราะสคริปต์ใน Autoit จะหยุดทำงานเมื่อทำตามเงื่อนไขครบ รูปแบบคำสั่งคือ

while ตามด้วยเงื่อนไข
คำสั่งที่จะให้ทำงานภายในลูป
wend

ตัวอย่างการใช้คำสั่ง เพื่อให้วนลูปไปเรื่อยๆ

while 1
sleep(100)
wend

ต่อไปนี้เป็นตัวอย่างคำสั่งพร้อมคำอธิบาย


HotKeySet("{F2}", "start1")
;ตั้งค่าคีย์ F2 เป็น Hotkey เมื่อกดปุ่มนี้ที่คีย์บอร์ด ฟั่งก์ชั่นชื่อ start1 จะทำงานทันที
while 1
;เริ่มต้นการวนลูปไปเรื่อยๆ (ใส่เลข 1 จะทำให้เกิดการวนลูปไปเรื่อยๆ)
sleep(100)
;คำสั่งภายในลูปคือ คำสั่งหน่วงเวลา 100 (1000 = 1 วินาที) แล้วค่อยจบการวนลูป
wend
;คำสั่งจบการวนลูป ก่อนจะไปเริ่มวนใหม่
func start1()
;สร้างฟังก์ชั่น start1
run("C:\Program Files (x86)\Winamp\winamp.exe")
;คำสั่งภายในฟังก์ชั่น เพื่อเรียกโปรแกรม winamp
EndFunc
;จบฟังก์ชั่น

คำสั่งแบบไม่มีคำอธิบาย

HotKeySet("{F2}", "start1")
while 1
sleep(100)
wend
func start1()
run("C:\Program Files (x86)\Winamp\winamp.exe")
EndFunc


หน้าตาคำสั่งเมื่อเขียนลงไปใน SciTe
 


     ตอนต่อไปเราจะทำปุ่ม Hotkey แบบสลับปิดเปิดโปรแกรม คือ กดปุ่มหนึ่งครั้งเปิดโปรแกรมขึ้นมาทำงาน ถ้ากดซ้ำอีกครั้งเป็นการปิดโปรแกรมนั้น รวมถึงวิธีการฝังโปรแกรมให้ทำงานอัตโนมัติตอนเปิดเครื่องในเมนุ StartUp และการดัดแปลงโปรแกรมให้ทำงานได้หลากหลายยิ่งขึ้น
###จบแล้วครับ###

0 comments:

Post a Comment

    ส่วนนี้สำหรับแสดงความคิดเห็นทั่วไป สอบถามปัญหาตั้งถามได้ที่ฟอรั่ม


>>> [โปรดอ่าน] เนื่องจาก บทความการใช้งานบางโปรแกรมได้โฟสไปนานแล้ว
โปรแกรมอาจมีการอัปเดท วิธีการใช้งาน อาจใช้ไม่ได้ หรือมีวิธีที่ง่ายกว่าในเวอร์ชั่นใหม่
หากคุณพบว่าวิธีการใช้งานไม่ตรงกับบทความในบล็อกนี้ สามารถแนะนำเพิ่มเติมได้ครับ