ฟอรั่ม PSsix

Would you like to react to this message? Create an account in a few clicks or log in to continue.

ฟอรั่มของบล็อก http://pssix.blogspot.com


2 posters

    รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt

    POS
    POS
    PSsix
    PSsix


    รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt

    ตั้งหัวข้อ by POS 22/07/10, 06:40 am

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


    แก้ไขล่าสุดโดย POS เมื่อ 22/07/10, 06:44 am, ทั้งหมด 1 ครั้ง
    POS
    POS
    PSsix
    PSsix


    รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty Re: รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt

    ตั้งหัวข้อ by POS 22/07/10, 06:41 am

    ปกติจะต้องสร้างScript Batch file จากNote Pad หรือไม่ก็เขียนจากScript Editor แล้วSaveเป็นนามสกุล.Bat
    แต่ผมอยากรู้วิธีเขียน Script Batch file โดยใช้ โปรแกรม Autoit เลยคับคือไม่ต้องเขียนจากNote Pad หรือ ตัวEditor เช่น พอกดปุ่มที่ีตัวโปรแกรม หรือดับเบิลคลิกที่ตัวโปรแกรม ตัวโปรแกรมก็จะทำการสร้างBatch File ให้อัตโนมัติ หรืออาจจะทำการกำหนดการตรวจสอบว่ามีฺิBatch fileอยู่ในตำแหน่งที่โปรแกรมกำหนดไว้หรือไม่ถ้าไม่มี ภายในหนึ่งวินาทีโปรแกรมจะทำการเขียนBatch fileให้อัตโนมัติ

    ผมอยากได้ตัวอย่างเอาไปศึกษาคับใครเขียนได้มาเขียนให้ดูหน่อยนะคับ



    ไม่แน่ใจความต้องการของคุณสักเท่าไหร่ ดูแล้วเหมือนต้องการเขียนไวรัส (คงไม่ใช่นะ) วิธีเขียนก็ตามนี้เลยครับ จะได้ไฟล์ชื่อ aaa.bat และมีคำสั่งสามคำสั่งอยู่ภายใน ถ้าลบไฟล์ aaa.bat ทิ้ง พอดับเบิลคลิกที่ตัวโปรแกรมก็จะสร้างไฟล์ให้ใหม่ทันที โปรแกรมจะตรวจสอบทุก 1 วินาที



    While 1
    $file = FileOpen("C:\aaa.bat", 0)

    If $file = -1 Then
    $file = FileOpen("C:\aaa.bat", 2)
    EndIf

    $text1 = "dir/ad"& @CRLF&"pause"& @CRLF&"exit"

    FileWrite($file, $text1)

    FileClose($file)


    Sleep(1000)
    WEnd
    POS
    POS
    PSsix
    PSsix


    รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty Re: รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt

    ตั้งหัวข้อ by POS 22/07/10, 06:43 am

    สมมติผมมีโปรแกรมอยู่ 2 ตัว (Test1.exe,Test2.exe หรืออาจมากกว่า) ต้องการให้ติดตั้ง 1 เสร็จแล้ว ไปติดตั้ง 2 ต่อ เสร็จแล้วให้ปิดตัวเองลงไปด้วย โดยใช้ คำสั่งในไฟล์ .au3 ตัวเดียวครับ

    ผมลองใช้ตัว AU3Record บันทึกการติดตั้งของ Test1.exe แล้วบันทึกเป็นไฟล์ว่า Test1.au3 และ ตัว Test2.exe ก็ทำเหมือนกันบันทึกออกมาเป็น Test2.au3 หลังจากนั้นผมลองนำข้อความทั้ง 2 มารวมกันเพื่อที่จะให้ได้ออกมาเป็นไฟล์ Test.au3 เท่านั้นแล้วแปลงไปเป็น exe เพื่อที่จะติดตั้งโปรแกรม Test1.exe,Test2.exe ไปแค่คลิกเดียวเลย และไฟล์จะได้ไม่เยอะรกหูรกตา ---- แต่ทำแล้วไม่ผ่านเลยครับ (คิดว่ามันจะทำงานคนละส่วนกันอยู่แล้ว ทำงานไปตามลำดับบรรทัด แต่นี่ไม่ผ่านเลย จึงขอคำแนะนำหน่อยครับ (หรือมีวิธีอื่นที่สะดวก ง่ายกว่านี้) ขอบคุณครับ




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


    If not WinExists("ชื่ออันเก่า") Then
    test2()
    EndIf

    Func test2()

    บลาๆๆๆๆๆๆๆ คำสั่งติดตั้ง test2.exe

    EndFunc
    POS
    POS
    PSsix
    PSsix


    รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty Re: รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt

    ตั้งหัวข้อ by POS 22/07/10, 06:47 am

    สวัสดีครับ

    วันนี้ผมลองรันโปรแกรม Autoit

    แต่ก้อติดปัญหานิดหน่อยอะครับ

    คือการ submit อ่ะครับ

    ผมใช้ _IEFormSubmit ($oForm)

    แต่โปรแกรมก้อไม่รับคำสัง submit อะครับ

    ผมจึงอยากสอบถามเกียวกับปุ่ม submit อะครับ

    ว่ามีการเขียนคำสั่งกี่แบบครับ

    ปล.อยู่ในช่วงกำลังศึกษาครับ :)

    แต่ถ้าจะสั่งคลิกก็มีคำสั่งอื่นๆ อีกลองกดปุ่ม F1 แล้วคลิกแท็บ Contents อ่านตรง IE Management จะมีชุดคำสั่งสำหรับควบคุม IE ทั้งหมดปรากฏออกมาให้ศึกษา

    ตัวอย่าง สั่งคลิกแบบอื่น ปุ่มที่ I'm feeling lucky ใน google



    CODE
    #include <IE.au3>
    $oIE = _IECreate ("http://www.google.com")

    $oForm = _IEFormGetObjByName($oIE,"f")
    $oQuery = _IEFormElementGetObjByName ($oForm, "q")
    _IEFormElementSetValue ($oQuery, "pssix")
    $But2 = _IEFormElementGetObjByName($oForm,"btnI")
    _IEAction($But2,"click")

    avatar
    sak2010
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty
    จำนวนข้อความ : 16
    ความนิยม : 0
    เข้าร่วมเมื่อ : 31/07/2010

    รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt  Empty Re: รวมคำถามและคำตอบการเขียนสคริปต์ AutoIt

    ตั้งหัวข้อ by sak2010 01/08/10, 07:04 pm

    POS พิมพ์ว่า:ปกติจะต้องสร้างScript Batch file จากNote Pad หรือไม่ก็เขียนจากScript Editor แล้วSaveเป็นนามสกุล.Bat
    แต่ผมอยากรู้วิธีเขียน Script Batch file โดยใช้ โปรแกรม Autoit เลยคับคือไม่ต้องเขียนจากNote Pad หรือ ตัวEditor เช่น พอกดปุ่มที่ีตัวโปรแกรม หรือดับเบิลคลิกที่ตัวโปรแกรม ตัวโปรแกรมก็จะทำการสร้างBatch File ให้อัตโนมัติ หรืออาจจะทำการกำหนดการตรวจสอบว่ามีฺิBatch fileอยู่ในตำแหน่งที่โปรแกรมกำหนดไว้หรือไม่ถ้าไม่มี ภายในหนึ่งวินาทีโปรแกรมจะทำการเขียนBatch fileให้อัตโนมัติ

    ผมอยากได้ตัวอย่างเอาไปศึกษาคับใครเขียนได้มาเขียนให้ดูหน่อยนะคับ
    ------------------------------------------------------------------
    Autoit สามารถสั่งรันไฟล์หรือโปรแกรมบน Dos ได้แก่คำสั่งดังต่อไปนี้
    1.คำสั่ง Run(@ComSpec & " /k help | more")
    2.คำสั่ง _RunDos(sCommand) ..อ้าง #include <Process.au3> ด้วย.
    ศึกษาเพิ่มเติมได้ที่โปรแกรม Help ของ Autoit v3



    ไม่แน่ใจความต้องการของคุณสักเท่าไหร่ ดูแล้วเหมือนต้องการเขียนไวรัส (คงไม่ใช่นะ) วิธีเขียนก็ตามนี้เลยครับ จะได้ไฟล์ชื่อ aaa.bat และมีคำสั่งสามคำสั่งอยู่ภายใน ถ้าลบไฟล์ aaa.bat ทิ้ง พอดับเบิลคลิกที่ตัวโปรแกรมก็จะสร้างไฟล์ให้ใหม่ทันที โปรแกรมจะตรวจสอบทุก 1 วินาที



    While 1
    $file = FileOpen("C:\aaa.bat", 0)

    If $file = -1 Then
    $file = FileOpen("C:\aaa.bat", 2)
    EndIf

    $text1 = "dir/ad"& @CRLF&"pause"& @CRLF&"exit"

    FileWrite($file, $text1)

    FileClose($file)


    Sleep(1000)
    WEnd

      เวลาขณะนี้ 27/04/24, 12:58 pm