บางครั้งเราจำเป็นต้องทำบางอย่างซ้ำๆ ในหน้าจอคอมพิวเตอร์ เช่น การพิมพ์ข้อความ, การคลิกปุ่ม หรือแม้แต่การเล่นเกมส์ปั้มคะแนนอะไรสักอย่าง ซึ่งเราสามารถใช้โปรแกรม ScriptWriter ใน Autoit ช่วยได้
ก่อนอื่นขออธิบายคร่าวๆ ก่อนนะครับ ตัวโปรแกรม ScriptWriter เป็นโปรแกรมเสริมสำหรับบันทึกการทำงานของการกดปุ่มเม้าส์และคีย์บอร์ดบนหน้าจอ มันจะจับเอาตำแหน่งการคลิก และรูปแบบการกดปุ่มคีย์บอร์ดเอาไว้ แล้วแปลงรูปแบบการกระทำทั้งหมดเป็นชุดคำสั่งของโปรแกรม Autoit อย่างไรก็ตามการทำงานของโปรแกรมนี้มีข้อจำกัดค่อนข้างมาก เพราะถ้าโปรแกรมหน้าจอที่คุณใช้บันทึกมีการขยับเคลื่อนย้าย การใช้คำสั่งก็จะคลิกกดไม่ถูกต้องแล้ว
ดังนั้นการบันทึกการกระทำด้วยโปรแกรมนี้จึงเหมาะสำหรับงานเร่งด่วน หรือแบบใช้ครั้งเดียวทิ้ง ถ้าหากจะเอาแบบแม่นยำโดยไม่อิงจากตำแหน่งหน้าจอ คุณต้องเขียนคำสั่งเจาะจงไปเลย อย่าง ถ้ากำหนดให้คลิกปุ่ม ตกลง ในหน้าจอโปรแกรม IE ก็ต้องเขียนคำสั่งที่ระบุชื่อปุ่มไปเลย วิธีการดังกล่าวจะได้ผลที่แม่นยำ แม้หน้าจอจะไม่ได้อยู่ตำแหน่งเดิมหรือพับหน้าจอลงก็คลิกได้ ซึ่งต้องใช้เวลาในการศึกษาวิธีทำอยู่พอสมควร หากสนใจลองคลิกไปดูที่เมนู AutoIt ในลิงก์ด้านขวาของบล็อกนี้
เรามาว่าเรื่องโปรแกรม ScriptWriter กันต่อ ก่อนอื่นตรวจเช็คดูก่อนว่าเครื่องของคุณมีโปรแกรมนี้หรือยัง ถ้าหากคุณติดตั้ง Autoit ในเครื่องเรียบร้อยแล้ว ลองเข้าไปที่โฟลเดอร์ติดตั้งโปรแกรม และเข้าไปในโฟลเดอร์ย่อย SciTE\ScriptWriter ตัวโปรแกรมจะชื่อ AU3Record.exe ถ้าตำแหน่งนี้หาไม่เจอ ลองคลิกไปที่ตำแหน่งดังนี้
วินโดวส์ 32 บิต หาโปรแกรมที่ตำแหน่ง
C:\Program Files\AutoIt3\Extras\Au3Record
วินโดวส์ 64 บิต หาโปรแกรมที่ตำแหน่ง
C:\Program Files (x86)\AutoIt3\Extras\Au3Record
หากไม่พบตัวโปรแกรมดังกล่าว แสดงว่าตัว SciTE ในเครื่องของคุณเป็นรุ่นเก่า ให้ไปดาวน์โหลดเวอร์ชั่นใหม่ตามลิงก์นี้นะครับ
คลิกดาวน์โหลด SCiTE
จากนั้นเปิดโปรแกรม ScriptWriter แล้วทำตามขั้นตอนดังรูปด้านล่างนี้
1. คลิกปุ่ม Browse เพื่อกำหนดโปรแกรมที่จะบันทึกการคลิกเม้าส์ และกดปุ่มคีย์บอร์ด (ขั้นตอนนี้หากไม่รู้ชื่อโปรแกรมก็ผ่านไปได้ครับ)
2. เปิดโปรแกรมที่จะบันทึกขึ้นมาเตรียมไว้(ตามตัวอย่างนี้คือโปรแกรม IE) แล้วคลิกปุ่ม Click to Record
จะมีรูปปุ่มดังกล่าวลอยขึ้นมาที่มุมซ้ายบนของหน้าจอ ปุ่มนี้เอาไว้คลิกเพื่อปิดการบันทึก
3. ทำการคลิกเม้าส์หรือกดปุ่มคีย์บอร์ดบนหน้าต่างโปรแกรมที่คุณจะบันทึก ตามตัวอย่างนี้ผมบันทึกการทำงานในหน้าต่าง IE เมื่อทำเสร็จก็กดปุ่ม Click to Stop ที่มุมซ้ายบนของจอ เพื่อหยุดการบันทึก โค้ดรหัสคำสั่งของโปรแกรม Autoit ก็จะปรากฏขึ้นมาในหน้าต่างโปรแกรม ตรงนี้คลิกปุ่ม Save แล้วคลิกปุ่ม Exit เพื่อออกจากโปรแกรมได้เลยครับ
4. เปิดไฟล์ au3 ที่บันทึกขั้นในขั้นตอนที่ 3 พิมพ์คำสั่งด้านล่างนี้แทรกลงไป
;สำหรับใช้สร้างปุ่มกด ESC แล้วหยุดการทำงาน
Hotkeyset("{Esc}","stop")
;คำสั่งฟังก์ชันสำหรับการปิดโปรแกรม
Func Stop()
Exit
EndFunc
5. พิมพ์คำสั่งWhile 1 และ WEnd ครอบชุดคำสั่งที่ต้องการให้ทำซ้ำๆ วนไปเรื่อยๆ (ถ้าไม่ใช้ชุดคำสั่งนี้ โปรแกรมจะทำซ้ำครั้งเดียวแล้วหยุด)
รายละเอียดอื่นๆ เช่น การคอมไพล์สคริปต์เป็นไฟล์ .exe ขอให้คลิกเข้าไปอ่านที่บทความนี้ตามลิงก์ด้านล่างนี้ ผมได้อธิบายไว้แล้วครับ (อยู่ตอนท้ายๆ)
http://pssix.blogspot.com/2008/09/autoit-2.html
###จบแล้วครับ###
Subscribe to:
Post Comments (Atom)
แล้วถ้าเราต้องการที่จะทำให้มีปุ่มกดเพื่อนเปิดและปุ่มปิดละครับ
ReplyDeleteจะต้องทำอย่างไรหรอครับ
เช่นกด F1 ให้กด q ไปเรื่อยๆ
กด F2 เพื่อให้หยุดการกระทำดังกล่าวชั่วคราว
ใช้ Hotkey ทำให้หยุดชั่วคราวได้ครับ
ReplyDeletehttp://pssix.blogspot.com/2009/09/autoit-hotkey-1.html
ประมาณสามตอนจบ หยุดชั่วคราวคงเขียนไว้ในตอนที่สาม
สร้างปุ่มกดค้าง ไช้คำสั่งอะไรครับ
ReplyDeleteโหลดไม่ได้แล้วครับช่วยดูให้หน่อยนะครับ
ReplyDeleteถ้าโหลดโปรแกรมไม่ได้ เข้าไปดูที่ฟอรั่ม AutoIt (ลิงก์ด้านบน) จะมีลิงก์โปรแกรมเวอร์ชั่นล่าสุดแจ้งไว้ให้ครับ
ReplyDeleteพอดีมันกดค้างให้ไม่ได้อ่ะครับ
ReplyDeleteเพราะโปรแกรมนึงถ้าไม่กดค้างก็ไม่สามารถที่จะใช้งานได้ครับ
มันทำได้แค่กดรัวๆเท่านั้นเองครับ
อยากทราบว่าพอมีวิธีที่ทำให้มันกดค้างได้หรือป่าวครับ