Sep 25, 2008
Thursday, September 25, 2008

เรียนรู้วิธีใช้งาน AutoIt :1

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

     AutoIt คือ ภาษาสคริปต์ที่ง่ายสุดๆ ถูกออกแบบให้ใช้กับการกระทำซ้ำซากบนวินโดวส์ โดยเขียนโปรแกรมควบคุมผ่านทาง SciTE Script Editor ที่เป็นฟรีแวร์ ดาวน์โหลดมาใช้งานได้ตามลิงก์ด้านล่างนี้นะครับ

http://www.autoitscript.com/autoit3/downloads.shtml
ทำงานกับวินโดวส์ได้ทุกเวอร์ชั่นทั้งแบบ 32 Bit และ 64 Bit (ทดสอบในวินโดวส์ Vista 64 Bit  และ Windows7 64 Bit ไม่มีปัญหาใดๆ)

AutoIt ทำอะไรได้บ้าง

- ช่วยติดตั้งโปรแกรมต่างๆ อัตโนมัติ (บทความตอนหน้า)
- ตั้งค่าให้กดคีย์บอร์ด หรือคลิกเม้าส์ ตามเหตุการณ์ที่ตรงกับเงื่อนไขได้
- ควบคุมทุกอย่างในวินโดวส์ เหมือนคนทำ (แต่ใช้โปรแกรมทำแทน)
- สร้างไวรัส, สปายแวร์ได้ (ไม่มีสอน)
- สร้างตัวตรวจจับไวรัสกับสปายแวร์ที่มายุ่งกับวินโดวส์ของเราได้ (มีสอน)
- โกงเกมส์บนเว็บ ช่วยการคลิกได้
- และอื่นๆ ที่คนทำได้ในวินโดวส์ AutoIt นี้ก็จำลองเพื่อทำซ้ำได้เกือบหมด ฯลฯ


เริ่มบทเรียนแรก : สร้างกรอบแสดงข้อความ และเรียกโปรแกรมขึ้นมาทำงาน

     หลังติดตั้งโปรแกรมเรียบร้อยแล้ว ก็คลิกเปิดโปรแกรม SciTE Script Editor ขึ้นมาได้เลยครับ ดังรูปด้านล่างนี้

1. พิมพ์ข้อความ msgbox(1, "Test", "Hello 123456" )
2. คลิกปุ่ม Save เพื่อบันทึกงาน ถ้าไม่บันทึกจะทดสอบคำสั่งที่เขียนไม่ได้

3. กดปุ่ม F5 ที่คีย์บอร์ด เพื่อทดสอบ คุณจะเห็นต่างดังรูปด้านล่างนี้ปรากฏขึ้นมา
msgbox = เป็นคำสั่งเรียกกรอบหน้าต่างข้อความ
(1, "Test", "Hello 123456" ) = เป็นค่าตัวแปรที่อยู่ภายในคำสั่ง (ค่าตัวแปรแต่ละอันจะถูกคั่นด้วยเครื่องหมาย , )

เลข 1 คือตัวแปรที่ให้แสดงปุ่ม OK และ Cancel บนหน้าต่าง (ดูลูกศร A)

ถ้าใส่เลขอื่นๆ ก็ให้ผลดังนี้
0 ได้ปุ่ม OK
1 ได้ปุ่ม OK และ Cancel
2 ได้ปุ่ม Abort, Retry, และ Ignore
3 ได้ปุ่ม Yes, No, และ Cancel
4 ได้ปุ่ม Yes และ No
5 ได้ปุ่ม Retry และ Cancel
6 ได้ปุ่ม Cancel, Try Again, Continue


ปุ่มพวกนี้ถ้าคุณกดมันจะส่งค่ากลับมายังโปรแกรมไม่เหมือนกันคือ

OK ส่งค่าเป็น 1
CANCEL ส่งค่าเป็น 2
ABORT ส่งค่าเป็น 3
RETRY ส่งค่าเป็น 4
IGNORE ส่งค่าเป็น 5
YES ส่งค่าเป็น 6
NO ส่งค่าเป็น 7
TRY AGAIN ส่งค่าเป็น 10
CONTINUE ส่งค่าเป็น 11


ค่าพวกนี้เราจะใช้ก็ต่อเมื่อตั้งเป็นเงื่อนไขในการเขียนคำสั่งของบทถัดๆ ไป

"Test" เป็นข้อความบนไตเติลบาร์ (ดูลูกศร B)

"Hello 123456" เป็นข้อความในพื้นที่กรอบหน้าต่าง (ดูลูกศร C)

ลองเปลี่ยนค่าตัวแปรกแล้วกดปุ่ม F5 เพื่อดูผลจะเข้าใจยิ่งขึ้นครับ



     ต่อไปก็เป็นการใช้คำสั่งสำหรับเรียกเปิดโปรแกรมขึ้นมา เราลองกันง่ายๆ ด้วยการพิมพ์คำสั่งนี้ลงไป Run ("notepad") พิมพ์เสร็จแล้วก็กดปุ่ม F5 จะเห็นว่าโปรแกรมโน้ตแพดเปิดขึ้นมา


     ถ้าคุณจะเรียกโปรแกรมอื่นๆ ให้เปิดขึ้นมาแตกต่างจากนี้ ก็คลิกขวาที่ช็อตคัทของโปรแกรม เลือกคำสั่ง Properties จากนั้นก็คลิกแท็บ Shortcut แล้วก๊อปปี้ข้อความตรงส่วนของ Target: มาวางไว้รูปแบบการใช้คำสั่ง RUN ก็คือ คุณต้องวางตำแหน่งและชื่อไฟล์โปรแกรม ลงในภายในเครื่องหมาย (" ") ตัวอย่างเช่นเช่น

Run ("C:\Program Files (x86)\The KMPlayer\KMPlayer.exe")

หรือ

Run ("C:\Program Files (x86)\uTorrent\uTorrent.exe")




วันนี้จบเพียงเท่านี้ก่อน เดี๋ยวตอนหน้ามาดูวิธีการสร้างไฟล์ติดตั้งโปรแกรมอัตโนมัติกัน

###จบแล้วครับ###

9 comments:

  1. ขอบคุณค่ะสำหรับข้อมูลที่ดีและมีประโยชน์

    ReplyDelete
  2. . ขอบคุณครับ

    ReplyDelete
  3. เยี่ยมมากครับ ผมกำลังหัดทำอยู่ครับ เอามาลงเรื่อยๆนะครับ ขอบคุณครับ

    ReplyDelete
  4. แหล่มเลยพี่ เจ๋งมาก หามานานแล้วบทความดีๆแบบนี้

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. dim $cur
    $cur = @WorkingDir & "\mysql.data.msi"
    Run ($cur)

    เขียนผิดตรงไหนครับ หัดทำครับ

    ReplyDelete
  7. ได้แล้วครับ
    บทความดีมากเลยครับ

    ShellExecuteWait(@ScriptDir & "\mysql.data.msi")

    ReplyDelete
  8. ใช้ ShellExecute แทนดีกว่าครับ สคริปต์จะทำงานต่อไปทันทีหลังสั่ง แต่่ถ้าใช้คำสั่งShellExecuteWait สคริปต์จะรอรับค่าโปรแกรมที่สั่งทำงานอีกทีว่าทำงานเสร็จหรือยัง ถึงจะทำงานต่อไป

    ปล. ตอบช้านะครับ ถามตรงนี้เพราะไม่ได้เข้ามาดูบ่อย ยังไงเข้าไปถามตรงฟอรั่ม AutoIt จะตอบเร็วกว่าเพราะเข้าไปเกือบทุกวัน ฟอรั่มตามลิงก์นี้

    http://pssix.forumotion.com/forum-f2/

    ReplyDelete
  9. ขอบคุณมากกๆๆๆครับผม

    ReplyDelete

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


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