ฟอรั่ม 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 กับ Windows 7 32-Bits

    avatar
    kongkoi
    มือใหม่เพิ่งสมัคร
    มือใหม่เพิ่งสมัคร


    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty
    จำนวนข้อความ : 9
    ความนิยม : 0
    เข้าร่วมเมื่อ : 01/09/2012

    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits

    ตั้งหัวข้อ by kongkoi 09/09/12, 03:11 am

    พอดีผมเจอปัญหาเรื่องการใช้ สคริป AutoIt ControlClick กับ Win7 Ultimate 32bit ที่ผมใช้เขียนสคริปอยู่ คือ สั่ง Mouse Click ด้วย ControlClick แล้วมันไม่มีอะไรเกิดขึ้นเลย
    ลองทุกอย่างที่เกี่ยวกับการตั้งค่าก็แล้ว กำหนดจุดคลิกทดสอบก็แล้ว มันไม่ทำงานเลยครับ
    แต่ใช้ MouseMove/Click กลับทำงานได้ แต่ผมไม่้ต้องการให้เม้าส์มันขยับอ่ะครับ
    และ Send ปุ่มกด, พิมพ์ตัวอักษร ได้ตามปกตินะครับ ไม่มีปัญหาอะไร
    ติดแค่เรื่องเม้าส์ของคำสั่ง ControlClick นี่หล่ะ จนปัญญา จนอยากถอดใจไม่อยากเขียนต่อล่ะ
    ดันเป็นตัวสำคัญซะด้วยสิ

    ไม่รู้ใครเจอปัญหากับ Win7 อย่างผมบ้างหรือป่าว หรือมีวิธีอะไรแก้ไขอะไรเกี่ยวกับโปรแกรม หรือวินโดวส์ของผมก็ช่วยบอกด้วยนะครับ

    อีกอย่างครับ เรื่องการเขียนโปรแกรมผมเข้าใจดี พอสมควร
    เพราะผมเป็นโปรแกรมเมอร์ ใช้ได้ทั้ง vb6, C++, Vb.net(ตัวหลักเลยครับ) เขียนโปรแกรมควบคุมเครื่องระบบลอจิกติคเครื่องจักร/ฐานข้อมูลในโรงงานเป็นส่วนใหญ่ ก็เลยเข้าใจดีครับว่าควรเขียนโปรแกรมไปในแนวไหน AutoIt ก็เป็นเหมือนภาษาๆหนึ่ง เข้าใจไม่ยาก แต่ที่ยาก คือ ทำตามไวยากรณ์แล้ว ทำไมอีเว้นท์ ไม่ทำงานตามที่เราต้องการน๊าา แต่ผมติดปัญหาเดียวนั้นล่ะครับ ControlClick ว่าจะลองวิธีสุดท้าย ลงวินโดวส์7ตัวอื่น ดูว่าจะทำงานได้ไม๊

    ขอบคุณสำหรับทุกความคิดเห็นครับ


    แก้ไขล่าสุดโดย kongkoi เมื่อ 09/09/12, 04:05 pm, ทั้งหมด 1 ครั้ง
    avatar
    kongkoi
    มือใหม่เพิ่งสมัคร
    มือใหม่เพิ่งสมัคร


    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty
    จำนวนข้อความ : 9
    ความนิยม : 0
    เข้าร่วมเมื่อ : 01/09/2012

    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty Re: ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits

    ตั้งหัวข้อ by kongkoi 09/09/12, 03:26 pm

    ลงวินโดวส์ใหม่ล่ะเป็น Win 7 AG SP1 32bits
    แต่ก็ยังแก้ปัญหานี้ไม่ได้

    ส่งคีย์/ send key ได้ปกติ
    MouseMove / MouuseClick ได้ปกติ

    แต่ ControlClick ที่ต้องการนี่สิ ยังไม่ได้

    ปล.ใช้ vb.net import user32.dll เพื่อให้ทำงานลักษณะเดียวกันนี้ก็ไม่ได้เช่นกัน
    ค้นหาในเน็ตก็ไม่มีคำตอบ มีแต่วิธีใช้ที่เหมือนๆกัน
    ก็ลองทุกอย่างล่ะ เลยจนปัญญา งมมา 2 อาทิตย์ล่ะ จนจะถอดใจล่ะคร๊าบ

    Win7 มันป้องกันอะไรไว้หรือป่าวนะ ใครรู้ช่วยบอกวิธีหน่อยครับ
    ให้ใช้ ControlClick กับ Win7 ได้
    จะขอบพระคุณอย่างสูงกับทุกความคิดเห็นเลยครับ

    POS
    POS
    PSsix
    PSsix


    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty Re: ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits

    ตั้งหัวข้อ by POS 09/09/12, 09:17 pm

    ปัญหาไม่ได้อยู่ที่ตัววินโดวส์หรือโปรแกรม แต่อยู่ที่ตัวคำสั่งไม่สามารถส่งค่าเข้าไปใน child windows ของหน้าต่างโปรแกรมหรือเกมส์

    สำหรับรายละเอียดไฟล์ dll ในการสั่ง

    [You must be registered and logged in to see this link.]

    ตัวอย่างสคริปต์มีคนเขียนไว้แล้วลองนำไปทดสอบดู (คาดว่าไม่ได้ เนื่องจากติดปัญหาข้างต้น)

    Attachments
    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits AttachmentPostMessage.zip
    สคริปต์ เรียก PostMessage จาก User32.dll
    You don't have permission to download attachments.
    (4 Kb) Downloaded 36 times
    avatar
    kongkoi
    มือใหม่เพิ่งสมัคร
    มือใหม่เพิ่งสมัคร


    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty
    จำนวนข้อความ : 9
    ความนิยม : 0
    เข้าร่วมเมื่อ : 01/09/2012

    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty Re: ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits

    ตั้งหัวข้อ by kongkoi 10/09/12, 10:50 am

    POS พิมพ์ว่า:ปัญหาไม่ได้อยู่ที่ตัววินโดวส์หรือโปรแกรม แต่อยู่ที่ตัวคำสั่งไม่สามารถส่งค่าเข้าไปใน child windows ของหน้าต่างโปรแกรมหรือเกมส์

    สำหรับรายละเอียดไฟล์ dll ในการสั่ง

    [You must be registered and logged in to see this link.]

    ตัวอย่างสคริปต์มีคนเขียนไว้แล้วลองนำไปทดสอบดู (คาดว่าไม่ได้ เนื่องจากติดปัญหาข้างต้น)


    ขอบคุณครับ

    PostMessage/SendMessage ลองมาหมดแล้วครับ
    เป็นที่ child windows จริงๆนั้นล่ะครับ เ้ข้าไม่ถึง
    ลองหาโปรแกรม ไม่ซับซ้อนมาทดสอบ ก็ใช้ได้ล่ะ ไม่ได้เป็นที่วินโดวส์
    เฮ้อ...
    พยายามเข้าถึง child windows ไม่ได้ ก็เลยใช้ MouseMove/Click เอาละกัน แก้ขัดไปก่อน

    ขอบคุณครับ สำหรับคำแนะนำครับผม
    avatar
    kongkoi
    มือใหม่เพิ่งสมัคร
    มือใหม่เพิ่งสมัคร


    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty
    จำนวนข้อความ : 9
    ความนิยม : 0
    เข้าร่วมเมื่อ : 01/09/2012

    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty Re: ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits

    ตั้งหัวข้อ by kongkoi 10/09/12, 11:47 am

    ถามอีกอย่างครับ
    ใครพอจะมีวิธีแก้ไขปัญหานี้บ้าง
    คือโปรแกรมที่เราจะ Bot เวลามัน ปิด แล้ว เปิดใหม่ ทุกครั้งอ่ะ ชื่อ Class ที่เราอ้างอิงมันเปลี่ยนไปเรื่อยอ่ะครับ
    ใช้ชั่วคราวก็ต้องเปลี่ยนเองไปเรื่อยอ่ะครับ แต่อยากให้มันถาวรอ่ะครับ
    รบกวนผู้รู้ให้คำชี้แนะด้วยครับ

    ขอบคุณครับ
    avatar
    kongkoi
    มือใหม่เพิ่งสมัคร
    มือใหม่เพิ่งสมัคร


    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty
    จำนวนข้อความ : 9
    ความนิยม : 0
    เข้าร่วมเมื่อ : 01/09/2012

    ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits Empty Re: ช่วยด้วย!! เรื่อง AutoIt กับ Windows 7 32-Bits

    ตั้งหัวข้อ by kongkoi 10/09/12, 02:17 pm

    ได้ล่ะ ใช้ฟังก์ชั่น Autoit winclasslist เพื่อดึง class ทั้งหมดออกมา
    มันจะคงที่ ผมก็แยกเอาชื่อคลาสออก แล้วก็จับไปที่ index เดิมที่ประกาศใช้
    ก็จะได้คลาสที่ถูกต้องเสมอ แต่ทุกครั้งที่เปิดโปรแกรมที่จะบอทใหม่ ก็จะต้องResetโปรแกรมเราให้อ่านค่าคลาสใหม่ด้วยเช่นกัน เพื่อจะเก็บชื่อคลาสใหม่ที่เปิดมาเข้ามา Bot

    อิอิ

      เวลาขณะนี้ 28/04/24, 11:01 am