ฟอรั่ม 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


3 posters

    เขียนสคริป ตรวจจับการเปลี่ยนภาษา

    avatar
    foolsopts
    PSsix Member
    PSsix Member


    เขียนสคริป ตรวจจับการเปลี่ยนภาษา Empty
    จำนวนข้อความ : 29
    ความนิยม : 17
    เข้าร่วมเมื่อ : 24/08/2010

    เขียนสคริป ตรวจจับการเปลี่ยนภาษา Empty เขียนสคริป ตรวจจับการเปลี่ยนภาษา

    ตั้งหัวข้อ by foolsopts 24/08/10, 05:16 pm

    จะเขียนสคริปตรวจจับการเปลี่ยนภาษาต้องทำไงคับ แบบถ้าเราเปลี่ยนเป็นพิมพ์ไทย โปรแกรมก็จะไปอีกฟังชั่น ถ้าเราเปลี่ยนเป็นพิมพ์อังกฤษ ก็จะไปอีกฟังชั่นอ่ะคับ
    sirchet
    sirchet
    PSsix Member High Class
    PSsix Member High Class


    PSsix Program Coder
    จำนวนข้อความ : 96
    ความนิยม : 1
    เข้าร่วมเมื่อ : 21/07/2010
    อายุ : 35

    เขียนสคริป ตรวจจับการเปลี่ยนภาษา Empty Re: เขียนสคริป ตรวจจับการเปลี่ยนภาษา

    ตั้งหัวข้อ by sirchet 24/08/10, 09:17 pm

    ผมก็อยากรู้เหมือนกันครับ เคยเขียนให้ มันตรวจจับปุ่มเปลี่ยนภาษา ว่าถ้ากดครั้งนี้ให้เป็น ENG อีกครับให้เป็น THA แต่กำ ยังไม่ทันกดเลยแค่เปลี่ยนไปใช้อีกโปรแกรมมันก็เปลี่ยนให้อัตโนมัติแล้ว ปนกันมั่วไปหมด อิอิ รอคนตอบครับ
    POS
    POS
    PSsix
    PSsix


    เขียนสคริป ตรวจจับการเปลี่ยนภาษา Empty เขียนสคริป ตรวจจับการเปลี่ยนภาษา Empty เขียนสคริป ตรวจจับการเปลี่ยนภาษา Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    เขียนสคริป ตรวจจับการเปลี่ยนภาษา Empty Re: เขียนสคริป ตรวจจับการเปลี่ยนภาษา

    ตั้งหัวข้อ by POS 26/08/10, 04:31 am

    ใช้มาโคร @KBLayout ในการตรวจครับ แต่ตัวมาโครจะดึงเอาเฉพาะสถานะปัจจุบันของแป้นพิมพ์ และมีปัญหากับ Windows 7 (ที่ทดสอบ ไม่สามารถตรวจแป้นพิมพ์ไทยได้) วิธีแก้ไขปัญหาทั้งสอง ก็เขียนเป็นฟังก์ชั่นให้มันทำงานในลูป และตรวจเฉพาะแป้นพิมพ์ภาษาอังกฤษ ถ้าเปลี่ยนเป็นภาษาอื่นก็ตีว่าเป็นไทยซะ


    ตัวอย่างโค้ด

    Code:
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 272, 129, 192, 124)
    $Label1 = GUICtrlCreateLabel("แป้นพิมพ์ :: ", 200, 96, 62, 17)
    $Edit1 = GUICtrlCreateEdit("", 16, 8, 233, 81)
    GUICtrlSetData(-1, "Edit1")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
       $nMsg = GUIGetMsg()
       if CheckLayout() = 1 Then
        GUICtrlSetData($Label1 ,"อังกฤษ")
    Else
        GUICtrlSetData($Label1 ,"ไทย")
    EndIf
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit

       EndSwitch
    WEnd

    Func CheckLayout()
       Sleep(10)
        If @KBLayout = 00000409  Or @KBLayout = 0409 Then Return 1
    EndFunc

      เวลาขณะนี้ 27/04/24, 07:51 am