Mar 18, 2010
Thursday, March 18, 2010

คำสั่งทั่วไปที่มักใช้ในสคริปต์ AutoIt

     การเขียนโปรแกรม AutoIt แต่ละโปรแกรมจะมีรูปแบบการเขียนที่แตกต่างกัน แต่จะมีคำสั่งบางอันที่มักจะเห็นนำมาใช้กันบ่อยๆ ในการเขียนสคริปต์ ซึ่งในบทความนี้ผมจะยกตัวอย่างมา 3 คำสั่ง (ที่จริงมีเยอะกว่านี้ แต่เอาไว้คราวหน้า) ดังนี้

1. คำสั่งแรกคือ #NoTrayIcon เป็นคำสั่งสำหรับปิดการแสดงไอคอนโปรแกรม AutoIt ที่คุณทำขึ้นใน Systray (หรือชื่อเรียก Notification area ใน Windows 7 ) วิธีการใช้ก็แค่ เอาคำสั่งใส่ไว้ด้านล่างคำสั่ง #include ตัวสุดท้ายตามตัวอย่างในรูปด้านล่างนี้


     นอกจากนั้นยังมีอีกคำสั่งหนึ่งที่ใช้งานเหมือนกันคือคำสั่ง Opt("TrayIconHide", 1) ผลของคำสั่งนี้ จะซ่อนไอคอนที่ Systray เหมือนกัน แต่ความแตกต่างระหว่างสองคำสั่งก็คือ Opt("TrayIconHide", 1) ไม่ได้เป็นการซ่อนตั้งแต่แรก จะเป็นการลบไอคอนโปรแกรม AutoIt ที่ Systray เมื่อโปรแกรมรันขึ้นมาในเสี้ยววินาที(ประมาณ 700 ms)

2. คำสั่งถัดมาคือ _Singleton(@ScriptName, 0) คำสั่งจะช่วยป้องกันการเปิดโปรแกรม AutoIt เดียวซ้ำกัน ตัวอย่างเช่น ตามปกติเมื่อคุณสร้างโปรแกรมขึ้นมาสักโปรแกรมหนึ่งชื่อ A.exe พอดับเบิลคลิกที่ไอคอน A.exeโปรแกรมก็จะเปิดขึ้นมา ถ้าดับเบิลซ้ำที่ไอคอน A.exe อีกครั้งโปรแกรมก็จะเปิดขึ้นมาอีก  แบบนี้ถ้าเผลอดับเบิลหลายๆ ทีตัวโปรแกรมเดิมก็จะเปิดขึ้นมาซ้ำอีกเรื่อยๆ จนทำให้เครื่องอืดไปเลย วิธีใช้คำสั่งนี้จะต้องใช้คู่กับไลบรารี #include<Misc.au3> ดังรูปด้านล่างนี้


3. อีกคำสั่งหนึ่ง จะเรียกว่าชุดคำสั่งก็ได้คือ HotKeySet("{ESC}", "stop") เป็นชุดคำสั่งสำหรับกำหนดปุ่ม(ใช้กดปุ่มที่คีย์บอร์ด)ปิดโปรแกรม เนื่องจากโดยทั่วไปเมื่อโปรแกรม AutoIt กำลังวนลูปอยู่ คุณจะไม่สามารถคลิกปิดหน้าต่างโปรแกรมได้ หรือต้องเขียนคำสั่งดึงสถานะการคลิกปุ่มปิด จึงจะปิดโปรแกรมได้ วิธีใช้ชุดคำสั่งนี้ก็เพียงแค่นำคำสั่ง HotKeySet("{ESC}", "stop") ไปวางไว้ที่ด้านบนสคริปดังรูปด้านล่างนี้



     จากนั้นก็นำฟังก์ชั่น stop ไปวางไว้ในสคริปต์ (แนะนำว่าควรเอาไว้ที่ล่างสุด) เพียงแค่นี้เมื่อคุณกดปุ่ม ESC โปรแกรมจะปิดตัวลงทันที แม้ว่าจะอยู่ในลูปก็ตาม

Func stop()
     ToolTip('หยุดการทำงาน', 0, 0)
    Sleep(500)
    Exit
EndFunc
  



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

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

0 comments:

Post a Comment

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


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