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


การ send ข้อความภาษาไทยแล้วเป็น ????? แก้ไขอย่างไงครับ

Share
avatar
Pochi
PSsix Member Class III
PSsix Member Class III


จำนวนข้อความ : 66
ความนิยม : 1
เข้าร่วมเมื่อ : 22/10/2010

การ send ข้อความภาษาไทยแล้วเป็น ????? แก้ไขอย่างไงครับ

ตั้งหัวข้อ by Pochi on 13/08/12, 12:34 pm

สั่งให้พิมพ์ข้อความถ้าเป็นตัวเลขหรือภาษาอังกฤษไม่มีปัญหาครับ แต่ถ้าเป็นภาษาไทยจะขึ้น ????? แก้ไขอย่างไงครับ em229

ล่าสุดผมลองกดเปลี่ยนภาษาดูครับ สมารถพิมพ์ภาษาไทยได้ครับ แต่ตัวเลขกับภาษาอังกฤษกับมีปัญหาแทนครับ

ครั้งที่ 1 กดเปลี่ยนภาษาเป็นภาษาไทย
> ถ้าพิมพ์ "ข้อความที่ aaa" จะ send เป็น "ข้อความที่ ฟฟฟ" และถ้าพิมพ์ "ข้อความที่ 444" จะ send เป็น "ข้อความที่ ภภภ"
= เหมือนมันอ่านค่าจากคีบอร์ดในส่วนของตัวอักษรเท่านั้น ไม่ได้อ่านค่าตัวเลขตรง NumLock

ครั้งที่ 2 กดเปลี่ยนภาษาเป็นภาษาอังกฤษ
> ถ้าพิมพ์ "ข้อความที่ aaa" จะ send เป็น "?????????? aaa" และถ้าพิมพ์ "ข้อความที่ 444" จะ send เป็น "?????????? 444"
= ครั้งนี้ข้อความและตัวเลขแสดงปกติครับ แต่ภาษาไทยกลับเป็น ????

ผมใช้ Send กับ ControlSend ก็ให้ผลเหมือนกัน มีวิธีแก้ไขทั้ง 2 อย่างไหมครับ em234
Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 126, 71, 192, 114)
$Button1 = GUICtrlCreateButton("Button1", 24, 24, 75, 25)
GUISetState(@SW_SHOW)

HotKeySet("{ESC}", "_exit")

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit
      Case $Button1
         ToolTip("ทำงานภายใน 5 วินาที", 5, 5)
         Sleep(5000)
         _text()
   EndSwitch
WEnd

Func _exit()
       Exit
EndFunc

Func _text()
   While 1
     Sleep(3000)
         Send("ข้อความ aaa")
     Send("{ENTER}")
   WEnd
EndFunc

ใช้ ControlSend
Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 126, 71, 192, 114)
$Button1 = GUICtrlCreateButton("Button1", 24, 24, 75, 25)
GUISetState(@SW_SHOW)

HotKeySet("{ESC}", "_exit")

While 1
  $nMsg = GUIGetMsg()
  Switch $nMsg
      Case $GUI_EVENT_CLOSE
        Exit
      Case $Button1
        ToolTip("ทำงานภายใน 5 วินาที", 5, 5)
        Sleep(5000)
        _text()
  EndSwitch
WEnd

Func _exit()
      Exit
EndFunc

Func _text()

  While 1
     Sleep(3000)
     ControlSend("", "", "", "ข้อความ 444")
     Send("{ENTER}")
  WEnd
EndFunc
avatar
POS
PSsix
PSsix


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

Re: การ send ข้อความภาษาไทยแล้วเป็น ????? แก้ไขอย่างไงครับ

ตั้งหัวข้อ by POS on 14/08/12, 06:28 am

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


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

กลุ่ม AutoIt ในเฟสบุ๊ค
[You must be registered and logged in to see this link.]

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com
avatar
Pochi
PSsix Member Class III
PSsix Member Class III


จำนวนข้อความ : 66
ความนิยม : 1
เข้าร่วมเมื่อ : 22/10/2010

Re: การ send ข้อความภาษาไทยแล้วเป็น ????? แก้ไขอย่างไงครับ

ตั้งหัวข้อ by Pochi on 14/08/12, 10:01 am

POS พิมพ์ว่า:ปัญหาอยู่ที่คุณตั้งคีย์บอร์ดเป็นอังกฤษ แต่สั่งส่งตัวอักษรภาษาไทยครับ ต้องแก้ไขเป็นตั้งคีย์บอร์ดเป็นไทยด้วย (กดปุ่มตัวหนอนเปลี่ยนภาษา เมื่อคลิกไปที่หน้าต่างเกมส์ของคุณ)
ขอบคุณครับคุณ POS แต่ผมลองกดปุ่มตัวหนอนเปลี่ยนภาษาแล้วครับ

ถ้าในเกมส์เป็นภาษาไทย ตัวเลขกับตัวภาษาอังกฤษจะไม่แสดงครับ (มันอ่านค่าเป็นภาษาไทยแทน มองในคีบอร์ดอ่ะครับ ถ้าตัว a ในเกมส์จะเป็น ฟ และถ้าเป็นเลข 5 ในเกมส์จะเป็น ถ.)

ถ้าเป็นภาษาอังกฤษจะใช้ตัวเลขได้ครับ แต่ภาษาไทยจะเป็น ????? (ตัวอย่างเช่น hello สวัสดี 123 ในเกมส์จะเป็น hello ?????? 123)

คือมันใช้งานภาษาไทย ตัวเลข และภาษาอังกฤษพร้อมกันไม่ได้ครับ em234
avatar
POS
PSsix
PSsix


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

Re: การ send ข้อความภาษาไทยแล้วเป็น ????? แก้ไขอย่างไงครับ

ตั้งหัวข้อ by POS on 14/08/12, 12:55 pm

ในเกมส์สามารถกดปุ่ม Ctrl + V ได้หรือไม่ครับ ถ้าได้ก็ใช้คำสั่งด้านล่างนี้

ClipPut("ฟหกดasdf")

Send("^v")



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

กลุ่ม AutoIt ในเฟสบุ๊ค
[You must be registered and logged in to see this link.]

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com
avatar
Pochi
PSsix Member Class III
PSsix Member Class III


จำนวนข้อความ : 66
ความนิยม : 1
เข้าร่วมเมื่อ : 22/10/2010

Re: การ send ข้อความภาษาไทยแล้วเป็น ????? แก้ไขอย่างไงครับ

ตั้งหัวข้อ by Pochi on 14/08/12, 05:06 pm

POS พิมพ์ว่า:ในเกมส์สามารถกดปุ่ม Ctrl + V ได้หรือไม่ครับ ถ้าได้ก็ใช้คำสั่งด้านล่างนี้

ClipPut("ฟหกดasdf")

Send("^v")

ใช้ Ctrl + V ไม่ได้ครับ เอาคำสั่งโดนบนไปลองดูก็ได้ไม่ครับ

แล้วผมก็ลองใช้แบบนี้ก็ไม่ได้ึเช่นกันครับ

ClipPut("ฟหกดasdf")

Send("{APPSKEY}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}")

em232

avatar
POS
PSsix
PSsix


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

Re: การ send ข้อความภาษาไทยแล้วเป็น ????? แก้ไขอย่างไงครับ

ตั้งหัวข้อ by POS on 15/08/12, 09:33 am

ถ้าอย่างนั้นต้องหาค่า pointer แล้วแก้ไขเอาจาก memory ดูวิธีตามวิธีตัวอย่างด้านล่างนี้ (ถ้าหาไม่ได้คงไม่มีทางอื่นแล้ว)

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


วิธีเขียนสคริปต์เข้าไปแก้ไข memory

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


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

กลุ่ม AutoIt ในเฟสบุ๊ค
[You must be registered and logged in to see this link.]

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com
avatar
Pochi
PSsix Member Class III
PSsix Member Class III


จำนวนข้อความ : 66
ความนิยม : 1
เข้าร่วมเมื่อ : 22/10/2010

Re: การ send ข้อความภาษาไทยแล้วเป็น ????? แก้ไขอย่างไงครับ

ตั้งหัวข้อ by Pochi on 15/08/12, 01:30 pm

POS พิมพ์ว่า:ถ้าอย่างนั้นต้องหาค่า pointer แล้วแก้ไขเอาจาก memory ดูวิธีตามวิธีตัวอย่างด้านล่างนี้ (ถ้าหาไม่ได้คงไม่มีทางอื่นแล้ว)

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


วิธีเขียนสคริปต์เข้าไปแก้ไข memory

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

ขอบคุณมากครับ คุณ POS ผมจะนำไปศึกษาต่อครับ em218

    เวลาขณะนี้ 28/04/17, 05:18 pm