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


ถาม วิธีกดปุ่ม เดิน ซ้าย ขวา (แบบ กด ปุ่มค้าง)

Share

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


จำนวนข้อความ : 17
ความนิยม : 0
เข้าร่วมเมื่อ : 02/09/2011

ถาม วิธีกดปุ่ม เดิน ซ้าย ขวา (แบบ กด ปุ่มค้าง)

ตั้งหัวข้อ by steplovedj on 13/09/11, 03:53 am

1.อยาก ทราบ คำสั่งที่ กด เดิน ซ้าย ขวา ค้าง อ่ะครับ เพราะ จาก
ControlSend($GameHD, "", "", "{LEFT 10}")
มัน แค่ให้ กด ซ้ำ ๆ 10 ครั่ง ไม่ได้ กด ค้าง ในเกมมันจะไม่ค่อยเดินครับ

2.เเล้วก็ คำสั่ง กดปุ่มค้างไว้ก่อน ไป กด ปุ่มต่อไป โดย ที่ ยังกด ปุ่มแรก ค้างอยู่
เช่น ผมจะ กด ปุ่ม Shiftค้าง เเล้วกด ซ้าย2 ครั่ง โดยที่ตอนกด ซ้าย ยัง กด Shift ค้างอยู่

งง คำถามตรงไหน บอกนะครับ ขอบคุณ ล่วงหน้าครับ

POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: ถาม วิธีกดปุ่ม เดิน ซ้าย ขวา (แบบ กด ปุ่มค้าง)

ตั้งหัวข้อ by POS on 13/09/11, 10:44 am

กดค้างใช้คำสั่ง down ต่อท้ายชื่อปุ่มที่จะให้กด
เสร็จแล้วต้องสั่ง up เพื่อปล่อยปุ่ม


Code:
ControlSend($GameHD, "", "", "{LEFT down}")

sleep(1000);ค้าง 1 วินาที หรือสั่ง send กดปุ่มอื่นควบระหว่างที่กดปุ่มนั้นๆ

ControlSend($GameHD, "", "", "{LEFT up}")

รหัสกดปุ่ม shift ค้าง
Code:
{SHIFTDOWN}

ปล่อยปุ่ม shift
Code:
 {SHIFTUP}


ตัวอย่างกดปุ่ม space bar ค้างแล้วกดปุ่มเลข 1

Code:
Send("{SPACE down}")
send("{1}")
Send("{SPACE up}")


||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
https://www.facebook.com/groups/AutoItThai/

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

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


จำนวนข้อความ : 17
ความนิยม : 0
เข้าร่วมเมื่อ : 02/09/2011

Re: ถาม วิธีกดปุ่ม เดิน ซ้าย ขวา (แบบ กด ปุ่มค้าง)

ตั้งหัวข้อ by steplovedj on 13/09/11, 04:09 pm

ขอบคุณครับ

แต่มันติด ปัญหาตรงที่ ในเกม ปกติ สั่ง ControlSend($GameHD, "", "", "{a 4}") ; กด a 4 ครั่ง
สั่ง แบบ ControlSend มัน กด a 4 ครั่ง ปกตินะครับ

แต่ พอให้มัน กด ControlSend($GameHD, "", "", "{LEFT down}")
มันไม่ยอมกด อ่ะครับ

ถ้าใช้ Send("{LEFT down}")
มันกดให้ปกติครับ ไม่ ทราบว่าพอมีวิธีแก้ ได้มั๊ยครับ

POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: ถาม วิธีกดปุ่ม เดิน ซ้าย ขวา (แบบ กด ปุ่มค้าง)

ตั้งหัวข้อ by POS on 14/09/11, 09:00 am

เขียนสคริปต์ตามนี้ครับ (อาจไม่ได้ผล)

ต้องสั่ง WinActivate หน้าต่างเกมส์นั้นมาก่อน แล้วจึงสั่ง ControlSend ตัวอย่างทำกับ Notepad (นำไปปรับแก้ไขกับเกมส์ของคุณเอง)

Code:
WinActivate("Untitled - Notepad")

ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "{LEFT down}{a 4}{LEFT UP}")

หรือ

Code:
WinActivate("Untitled - Notepad")

   ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "{LEFT down}")
   ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "{a 4}")
   ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "{LEFT UP}")

หรือ

Code:
WinActivate("Untitled - Notepad")

   ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "{LEFT down}")
   Sleep(100)
   ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "{a}")
   Sleep(100)
   ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "{a}")
   Sleep(100)
   ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "{a}")
   Sleep(100)
   ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "{a}")
   Sleep(100)
   ControlSend("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "{LEFT UP}")

*** คำสั่ง ControlSend จะมีปัญหากับบางเกมส์ ทำให้ไม่ได้สามารถสั่งค่าการกดคีย์เข้าไปในหน้าต่างได้ วิธีแก้ไขลองไล่อ่านตามกระทู้ในฟอรั่มนี้ดู มีวิธีแก้ไขอีก(อาจจะไม่ได้กับบางเกมส์อีกเช่นกัน) ถ้าไม่ได้จริงๆ ก็ต้องทำใจ เพราะไม่มีอะไรสมบูรณ์แบบในโลกนี้ ใช้เท่าที่ใช้ได้ก็พอ


||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
https://www.facebook.com/groups/AutoItThai/

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

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


จำนวนข้อความ : 17
ความนิยม : 0
เข้าร่วมเมื่อ : 02/09/2011

Re: ถาม วิธีกดปุ่ม เดิน ซ้าย ขวา (แบบ กด ปุ่มค้าง)

ตั้งหัวข้อ by steplovedj on 14/09/11, 11:36 am

ครับ ขอบคุณคับ

DarkWarrior
PSsix Member
PSsix Member


จำนวนข้อความ : 27
ความนิยม : 1
เข้าร่วมเมื่อ : 28/07/2011
ที่อยู่ : ดาวนาเม็ก

Re: ถาม วิธีกดปุ่ม เดิน ซ้าย ขวา (แบบ กด ปุ่มค้าง)

ตั้งหัวข้อ by DarkWarrior on 15/09/11, 05:00 am

กบปุ่ม Space ค้างรึเปล่าครับ รึว่า ปุ่ม E คุ้นๆนะเกมนี้อะ อิอิ

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


จำนวนข้อความ : 5
ความนิยม : 0
เข้าร่วมเมื่อ : 16/09/2012

Re: ถาม วิธีกดปุ่ม เดิน ซ้าย ขวา (แบบ กด ปุ่มค้าง)

ตั้งหัวข้อ by ghost00nge on 16/09/12, 09:21 pm

ลองทำตามแล้ว ไม่ได้อะครับ ทั้งในเกมทั้งข้างนอก มือใหม่ครับ ช่ายที่ งงตรงนี้อะครับ อย่าอื่นok ^ ^

    เวลาขณะนี้ 07/12/16, 12:49 am