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

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ]

    kobtadam
    kobtadam
    PSsix Member Class II
    PSsix Member Class II


    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty
    จำนวนข้อความ : 41
    ความนิยม : 6
    เข้าร่วมเมื่อ : 28/12/2013

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ]

    ตั้งหัวข้อ by kobtadam 02/01/14, 05:27 am

    Code:
    Global $GameHD

    Func _PSsixLoadH($gtitle)
    $GameHD = WinGetHandle($gtitle)
    If @error Then
    MsgBox(4096, "Error", "ไม่พบหน้าต่างเกม")
    Else
    Return 1
    EndIf
    EndFunc


    If _PSsixLoadH("GAMES") Then WinActivate($GameHD)



    While 1
    If PixelGetColor(201, 58) = 0x212031 Then    
    Send("{F4}")
    EndIf
    Sleep(10)


    If PixelGetColor(182, 65) = 0x314552 Then    
    Send("{F3}")
    EndIf
    Sleep(10)

    If PixelGetColor(182, 72) = 0x29384A Then
    Send("{F2}")
    EndIf
    Sleep(10)

    WEnd


    เรื่องที่ผมไม่ค่อยแน่ใจมี ผมเพ่งเคยเห็นโปรแกรมนี้อะครับ
    1.Sleep 1000 = 1 วินาทีใช้ไหมคับ
    2.มีวิธีที่ทำให้กดคีย์รัว ไวกว่า นี้อีกได้ไหม ในกรณี ใช้ 3 คีย์แบบนี้ โปรแกรมจะ รันจาก บนลงล่าง ใช้ไหมคับ
    เช่น สีที่กำหนด A หายไป กดคีย์ 1 หลังจากนั้น 1 วิ สีB หายไป กดคีย์2 หลังจากนั้น1 วิ
    แต่ถ้า
    ----------------------------------------
    If PixelGetColor(201, 58) = 0x212031 Then    
    Send("{F4}")
    EndIf
    Sleep(10)
    ------------------------------------------
    แบบนี้อันเดียวไวกว่าใช้ไหม ผมลองแว้วแบบนี้เหมือนไวกว่าอะคับ
    *คำถามคือ ในสคริปเดียวกัน มีวิธีทำให้มันกดคีย์ไวกว่านี้ได้ไหม ถ้า 3 คีย์เหมือนมันช้าลง งะ คับ มัน A B C A B C วนแบบนี้

    3.ทำไงถึงจะให้ โค๊ดตัวนี้ ทำงานในขณะ พับจอ อะคับ ไม่ใช้ ย่อไว้มุมขวาเล็กๆนะคับ แค่ -  พับหน้าต่างอะ
    แล้วให้มันทำงานในหน้าต่างที่เรากำหนดอะคับ  คือผมอ่อนมากอะคับ ผมเพ่งมาเห็นแล้วลงหัดอะ ผมไม่รู้

    *สรุป เป้าหมายของผมคือ
    อยากให้มันทำงานหน้าต่างเดียวอะคับ เช่นเวลาเราเปิด2จอ มันจะได้ไม่มาทำงานอีกจอซึ้งเป็นหน้าต่างโปรแกรมเหมือนกันtitle bar โปรแกรมอะคับ ผมลองใช้ autoit ตรวจ มันขึ้น title เดียวกานเลย  แล้วก็สุดท้ายอยากให้ทำงานไ้ด้ในขณะพับหน้าต่างได้อะคับ  
    แนะนำผมทีงับ ผมกรากโคตรมหาประลัยIII = ="

    ขอบคุณครับ
    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] 1003025_582758738456238_1809530869_n
    flapjack
    flapjack
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Moderator PSsix Master PSsix Game Coder
    จำนวนข้อความ : 314
    ความนิยม : 75
    เข้าร่วมเมื่อ : 05/10/2010

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty Re: [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ]

    ตั้งหัวข้อ by flapjack 02/01/14, 04:52 pm

    1.ใช่แล้วครับ
    2.ถ้าอยากให้กด Key ไวกว่านี้ ก็กำหนด
    Code:
    Opt("SendKeyDelay", 5)
    โปรแกรมจะทำงานตั้งแต่บรรทัดบนลงล่าง ครับ (งงกับคำถามที่ 2 น่ะครับ)
    3.เรื่องการกด key แบบส่งไปหน้าต่างโดยกำหนด  ลองดูลิงค์ดูน่ะครับ

    ปล.ในกรณีที่มีชื่อหน้าต่างเหมือนกัน แต่ต้องการส่ง key ไปที่หน้าต่างใดหน้าต่าง 1
    ต้องหา PID ของหน้าต่างอันนั้นให้ได้ก่อนครับ เพื่อให้ระบุตำแหน่ง

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Rj1g

    หลังจากนั้นเราต้อง หาค่าของ hand ของหน้าต่างนั้นโดยใช้ PID เป็นการอ้างอิง (ลองศึกษาจากเว็บนี้เลยครับ)
    kobtadam
    kobtadam
    PSsix Member Class II
    PSsix Member Class II


    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty
    จำนวนข้อความ : 41
    ความนิยม : 6
    เข้าร่วมเมื่อ : 28/12/2013

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty Re: [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ]

    ตั้งหัวข้อ by kobtadam 02/01/14, 05:26 pm

    ขอบคุณพี่มากเลยครับ ผมเข้าไปอ่านก่อน

    พี่ผมหาได้แว้ว PID  = ="

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] 1506407_617484931650285_739740843_n


    แก้ไขล่าสุดโดย kobtadam เมื่อ 02/01/14, 05:58 pm, ทั้งหมด 1 ครั้ง
    kobtadam
    kobtadam
    PSsix Member Class II
    PSsix Member Class II


    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty
    จำนวนข้อความ : 41
    ความนิยม : 6
    เข้าร่วมเมื่อ : 28/12/2013

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty Re: [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ]

    ตั้งหัวข้อ by kobtadam 02/01/14, 05:57 pm

    Code:
    Global $GameHD

    Func _PSsixLoadH($gtitle)
    $GameHD = WinGetHandle($gtitle)
    If @error Then
    MsgBox(4096, "Error", "ไม่พบหน้าต่างเกม")
    Else
    Return 1
    EndIf
    EndFunc

    If _PSsixLoadH("GAMES") Then WinActivate($GameHD)




    Func BusyWaitOnWindow($processPID, $windowTitle, $timeoutSeconds)

        Local $multiplierValue = 1000;
        Local $timeOut = $timeoutSeconds;

        Local $puttyHWND = -1;

        While ((0 <> $timeOut) AND (-1 == $puttyHWND))

     

            Winwait($windowTitle)
            Local $matchingWindows = WinList($windowTitle)

            If 0 == $matchingWindows[0][0] Then

                MsgBox(0, "Details", "NO matching window titles! Will continue busy wait for " & $timeOut & " more seconds..", 1)

          $timeOut -= 1;
          Sleep($multiplierValue);

                ContinueLoop
            EndIf

            For $dx = 1 to $matchingWindows[0][0]

                If WinGetProcess($matchingWindows[$dx][1]) == $processPID Then

                    $puttyHWND = $matchingWindows[$dx][1];
                    ExitLoop
                EndIf
            Next

      WEnd

      If NOT IsHWnd($puttyHWND) Then

    [b]  ใส่ตรงนี้ปะงับค่าหน้าต่าง PID --->[/b]  MsgBox(3664, "", $PuttyHWND & " - It's not a HWND")
          $puttyHWND = -1;
        EndIf

      return $puttyHWND;

    EndFunc


    While 1
    If PixelGetColor(201, 58) = 0x212031 Then    
    Send("{F4}")
    EndIf
    Opt("SendKeyDelay", 5)


    If PixelGetColor(182, 65) = 0x314552 Then    
    Send("{F3}")
    EndIf
    Opt("SendKeyDelay", 5)

    If PixelGetColor(182, 72) = 0x29384A Then
    Send("{F2}")
    EndIf
    Opt("SendKeyDelay", 5)

    WEnd

    แบบนี้ใช้ได้ไหม งับพี่ผิดตรงไหน มั่วตรงไหน บอกผมหน่อยเน๊อ
    flapjack
    flapjack
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Moderator PSsix Master PSsix Game Coder
    จำนวนข้อความ : 314
    ความนิยม : 75
    เข้าร่วมเมื่อ : 05/10/2010

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty Re: [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ]

    ตั้งหัวข้อ by flapjack 02/01/14, 10:16 pm

    kobtadam พิมพ์ว่า:
    Code:
    Global $GameHD

    Func _PSsixLoadH($gtitle)
    $GameHD = WinGetHandle($gtitle)
    If @error Then
    MsgBox(4096, "Error", "ไม่พบหน้าต่างเกม")
    Else
    Return 1
    EndIf
    EndFunc

    If _PSsixLoadH("GAMES") Then WinActivate($GameHD)




    Func BusyWaitOnWindow($processPID, $windowTitle, $timeoutSeconds)

        Local $multiplierValue = 1000;
        Local $timeOut = $timeoutSeconds;

        Local $puttyHWND = -1;

        While ((0 <> $timeOut) AND (-1 == $puttyHWND))

      

            Winwait($windowTitle)
            Local $matchingWindows = WinList($windowTitle)

            If 0 == $matchingWindows[0][0] Then

                MsgBox(0, "Details", "NO matching window titles! Will continue busy wait for " & $timeOut & " more seconds..", 1)

          $timeOut -= 1;
          Sleep($multiplierValue);

                ContinueLoop
            EndIf

            For $dx = 1 to $matchingWindows[0][0]

                If WinGetProcess($matchingWindows[$dx][1]) == $processPID Then

                    $puttyHWND = $matchingWindows[$dx][1];
                    ExitLoop
                EndIf
            Next

      WEnd

      If NOT IsHWnd($puttyHWND) Then

    [b]  ใส่ตรงนี้ปะงับค่าหน้าต่าง PID --->[/b]  MsgBox(3664, "", $PuttyHWND & " - It's not a HWND")
          $puttyHWND = -1;
        EndIf

      return $puttyHWND;

    EndFunc


    While 1
    If PixelGetColor(201, 58) = 0x212031 Then    
    Send("{F4}")
    EndIf
    Opt("SendKeyDelay", 5)


    If PixelGetColor(182, 65) = 0x314552 Then    
    Send("{F3}")
    EndIf
    Opt("SendKeyDelay", 5)

    If PixelGetColor(182, 72) = 0x29384A Then
    Send("{F2}")
    EndIf
    Opt("SendKeyDelay", 5)

    WEnd

    แบบนี้ใช้ได้ไหม งับพี่ผิดตรงไหน มั่วตรงไหน บอกผมหน่อยเน๊อ
    Code:

    Opt("SendKeyDelay", 5)
    ไว้บนสุดแค่บรรทัดเดียว ก็พอครับ
    โค๊ดด้านล่างเป็นการ ดึงค่า handle  ลองประยุกต์ ดูน่ะครับ
    พอได้ ค่า handle ก็สามารถอ้างอิงการส่ง Key ได้แล้วครับ
    Code:


    #Include <Array.au3>
    #Include <WinAPIEx.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>


    #Region ### START Koda GUI section ###
    $Form1 = GUICreate("Form1", 271, 109, 192, 124)
    $Button1 = GUICtrlCreateButton("เลือก PID", 160, 32, 97, 33)
    $Combo1 = GUICtrlCreateCombo("เลือก", 24, 40, 97, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($Combo1,seach_Return_PID())
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit

          Case $Button1
             If GUICtrlRead($Combo1) <> "" And  select_PID_ReTurn_handle(GUICtrlRead($Combo1)) <> 0 Then
                MsgBox(0,"Return : handle ",select_PID_ReTurn_handle(GUICtrlRead($Combo1)))
            EndIf
       EndSwitch
    WEnd


    Func seach_Return_PID()
       Local $str
    $list = ProcessList("notepad.exe"); เปลี่ยนตาม ชื่อ Process
    For $i = 1 To $list[0][0]
       $str = $str&$list[$i][1]&'|'

    Next
    Return $str

    EndFunc
    Func select_PID_ReTurn_handle($PID)

    Local $Data = _WinAPI_EnumProcessWindows($PID)
    If IsArray($Data) Then

       Return  $Data[1][0]
    Else
        Return 0
    EndIf
    EndFunc

    kobtadam
    kobtadam
    PSsix Member Class II
    PSsix Member Class II


    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty
    จำนวนข้อความ : 41
    ความนิยม : 6
    เข้าร่วมเมื่อ : 28/12/2013

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty Re: [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ]

    ตั้งหัวข้อ by kobtadam 05/01/14, 02:48 am

    flapjack พิมพ์ว่า:
    kobtadam พิมพ์ว่า:
    Code:
    Global $GameHD

    Func _PSsixLoadH($gtitle)
    $GameHD = WinGetHandle($gtitle)
    If @error Then
    MsgBox(4096, "Error", "ไม่พบหน้าต่างเกม")
    Else
    Return 1
    EndIf
    EndFunc

    If _PSsixLoadH("GAMES") Then WinActivate($GameHD)




    Func BusyWaitOnWindow($processPID, $windowTitle, $timeoutSeconds)

        Local $multiplierValue = 1000;
        Local $timeOut = $timeoutSeconds;

        Local $puttyHWND = -1;

        While ((0 <> $timeOut) AND (-1 == $puttyHWND))

      

            Winwait($windowTitle)
            Local $matchingWindows = WinList($windowTitle)

            If 0 == $matchingWindows[0][0] Then

                MsgBox(0, "Details", "NO matching window titles! Will continue busy wait for " & $timeOut & " more seconds..", 1)

          $timeOut -= 1;
          Sleep($multiplierValue);

                ContinueLoop
            EndIf

            For $dx = 1 to $matchingWindows[0][0]

                If WinGetProcess($matchingWindows[$dx][1]) == $processPID Then

                    $puttyHWND = $matchingWindows[$dx][1];
                    ExitLoop
                EndIf
            Next

      WEnd

      If NOT IsHWnd($puttyHWND) Then

    [b]  ใส่ตรงนี้ปะงับค่าหน้าต่าง PID --->[/b]  MsgBox(3664, "", $PuttyHWND & " - It's not a HWND")
          $puttyHWND = -1;
        EndIf

      return $puttyHWND;

    EndFunc


    While 1
    If PixelGetColor(201, 58) = 0x212031 Then    
    Send("{F4}")
    EndIf
    Opt("SendKeyDelay", 5)


    If PixelGetColor(182, 65) = 0x314552 Then    
    Send("{F3}")
    EndIf
    Opt("SendKeyDelay", 5)

    If PixelGetColor(182, 72) = 0x29384A Then
    Send("{F2}")
    EndIf
    Opt("SendKeyDelay", 5)

    WEnd

    แบบนี้ใช้ได้ไหม งับพี่ผิดตรงไหน มั่วตรงไหน บอกผมหน่อยเน๊อ
    Code:

    Opt("SendKeyDelay", 5)
    ไว้บนสุดแค่บรรทัดเดียว ก็พอครับ
    โค๊ดด้านล่างเป็นการ ดึงค่า handle  ลองประยุกต์ ดูน่ะครับ
    พอได้ ค่า handle ก็สามารถอ้างอิงการส่ง Key ได้แล้วครับ
    Code:


    #Include <Array.au3>
    #Include <WinAPIEx.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>


    #Region ### START Koda GUI section ###
    $Form1 = GUICreate("Form1", 271, 109, 192, 124)
    $Button1 = GUICtrlCreateButton("เลือก PID", 160, 32, 97, 33)
    $Combo1 = GUICtrlCreateCombo("เลือก", 24, 40, 97, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($Combo1,seach_Return_PID())
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
     $nMsg = GUIGetMsg()
     Switch $nMsg
     Case $GUI_EVENT_CLOSE
     Exit

     Case $Button1
             If GUICtrlRead($Combo1) <> "" And  select_PID_ReTurn_handle(GUICtrlRead($Combo1)) <> 0 Then
                MsgBox(0,"Return : handle ",select_PID_ReTurn_handle(GUICtrlRead($Combo1)))
         EndIf
     EndSwitch
    WEnd


    Func seach_Return_PID()
     Local $str
    $list = ProcessList("notepad.exe"); เปลี่ยนตาม ชื่อ Process
    For $i = 1 To $list[0][0]
     $str = $str&$list[$i][1]&'|'

    Next
    Return $str

    EndFunc
    Func select_PID_ReTurn_handle($PID)

    Local $Data = _WinAPI_EnumProcessWindows($PID)
    If IsArray($Data) Then

     Return  $Data[1][0]
    Else
        Return 0
    EndIf
    EndFunc



    หูยยยยย พี่ขอบใจมากๆ เลยคับพี่ flapjack

    พี่ครับผม รันแล้วมันขึ้นแบบนี้อะ
    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] 1554415_618743298191115_820472404_n

    นี้โค๊ดที่เอามาผสม อะคับ พี่ดูให้ผมที  ส่วนโปรเซต ผมเปลี่ยนชื่อแล้ว คราวนี้ มันเลย แสดง PID ของโปรเซตที่มันเจอรันอยู่กี่ PID ผมเปิด2 คับ ก็มีให้เลือก 2 ผมพยายามอธิบายตามที่ผมคิดว่ามันเปนงี้อะ ผมรู้ว่าโปรเซตไหน ชื่อไร เพราะ
    กด Windows task manager ดู แล้วผมก็เลือก 1 อัน คราวนี้ ผมคิดว่า พอเลือก แล้ว มันก็จะทำงาน ขั้นต่อไป
    เลยเอาโค๊ด ที่ กด ตามพิกัดเมื่อสีที่กำหนดหายไป มาต่อ ผมคิดว่ามันจะทำงานโค๊ดต่อไปเมื่อเลือกโปรเสตแล้ว เพราะมี 2
    แต่มันขึ้นแบบนั้นอะคับตามรูป ผมเลยไม่รู้ว่าที่คิดถูกไหม พี่บอกผมหน่อยนะ
    Code:

    #Include <Array.au3>
    #Include <WinAPIEx.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>


    #Region ### START Koda GUI section ###
    $Form1 = GUICreate("Form1", 271, 109, 192, 124)
    $Button1 = GUICtrlCreateButton("เลือก PID", 160, 32, 97, 33)
    $Combo1 = GUICtrlCreateCombo("เลือก", 24, 40, 97, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($Combo1,seach_Return_PID())
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
             Exit

          Case $Button1
             If GUICtrlRead($Combo1) <> "" And  select_PID_ReTurn_handle(GUICtrlRead($Combo1)) <> 0 Then
                MsgBox(0,"Return : handle ",select_PID_ReTurn_handle(GUICtrlRead($Combo1)))
            EndIf
       EndSwitch
    WEnd


    Func seach_Return_PID()
       Local $str
    $list = ProcessList("elementclient.exe")
    For $i = 1 To $list[0][0]
       $str = $str&$list[$i][1]&'|'

    Next
    Return $str

    EndFunc
    Func select_PID_ReTurn_handle($PID)

    Local $Data = _WinAPI_EnumProcessWindows($PID)
    If IsArray($Data) Then

       Return  $Data[1][0]
    Else
        Return 0
    EndIf
    EndFunc


    Global $GameHD

    Func _PSsixLoadH($gtitle)
    $GameHD = WinGetHandle($gtitle)
    If @error Then
    MsgBox(4096, "Error", "ไม่พบหน้าต่างเกม")
    Else
    Return 1
    EndIf
    EndFunc

    If _PSsixLoadH("ZhuXian") Then WinActivate($GameHD)



    While 1
    If PixelGetColor(215, 54) = 0x212031 Then
    Opt("SendKeyDelay", 1)
    Send("{F4}")
    EndIf


    WEnd
    avatar
    loveapple244
    PSsix Member Super Class II
    PSsix Member Super Class II


    PSsix Game Coder
    จำนวนข้อความ : 160
    ความนิยม : 9
    เข้าร่วมเมื่อ : 15/07/2011

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty Re: [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ]

    ตั้งหัวข้อ by loveapple244 25/01/14, 08:51 am

    มีสี3กลุ่มปุ่มกด3ปุ่ม 345 จะให้มันกดพร้อมกันต้องทำ3โปรแกรมถ้า1โปรแกรมมันจะไล่ จากบนลงล่างจากค่าที่นายเขียนวิธีจะให้มันทำงานในเวลาเดียวกันได้ก็คือแยกโปรแกรมมาโดยIf PixelGetColor(182, 72) = 0x29384A Then Send("{F2}")
    EndIf Sleep(10) เป็นโปรแกรมที่1 2 3 เวลาเปิดก็คลิ๊กๆ3โปรแกรมในรูปแปลงไฟลเป็นexe แล้วข้อดีคือมันแบ่งห้องการทำงานเป็นF2 3 4 ไปแต่ข้อเสียคือตอนที่นายไปคลิ๊กที่โปรแกรมมันจะต้องกดโปรแกรมที่1 2 3 อยู่ดีก็คือมันก็จะแบ่ง 1 2 3 แต่ก็จะได้ค่าที่แน่นอนกว่าข้างบนเพราะข้างบนเวลาเกิดถ้ามอนหรืออะไรลุมหรือสะดุดโอกาศตายมี10%แต่ที่แยกออกมามันก็จะลดช่องว่างไปแต่มันก็จะทำให้เพิ่มมือให้คอมอีกจาก1เป็น 2 3 แต่ถ้าจะเขียนในโปรแกรมเดียวกันมันจะเป็นรูปแบบที่ว่า หามอน1ฟัังก์ชั่น เจอแล้วตีเพิ่มค่าตีมอนลงไปฟังชั่นที่2 ก็จะใช้ในรูปfor ลืมบอกว่าควรมีคำสั่งปิดโปรแกรมไว้ซะ1ปุ่มในHotKeySetก็ได้แล้วใส่ค่าesc ไว้ปิดโปรแกรมไรงี้เผื่อโปรแกรมเร็วเกินไปอาจจะเป็นทีว่ามันค้าง-*-จะกดแล้วมันดันไม่กดเำีพราะบางทีส่งค่าไวไปถ้าลงเป็นคีแค่1มันไม่น่าจะมีปัญหาซ้อนทับฉะนั้นอาจจะเป็นการรวนหรือคีไม่ส่งเข้าสู้เกมส์ให้ลองสั่งsendง่ายๆก่อนว่ามันส่งไปที่เกมส์หรือไม่อย่างเราก็สั่งแบบนายอะแต่เราใช้ไว้สแกนหาว่ากดปุ่มดังกล่าวหรือไม่ถ้าไม่กดปุ่มก็ทำงานต่อไรงี้โดยสรุปไว้นี้น่าจะเป็นประโยชน์เพราะดูจากโปรแกรมที่นายเขียนเป็นจุดเริ่มเต้นหาค่า pidแล้วได้ค่า Handlesนั้นๆมา-*-โดยการเลือกpidซึ่งเท่ากับว่าพึ่งจะหาว่าใช่หน้าต่างโปรแกรมที่ต้องการหรือเปล่าหรือแค่ว่าโปรแกรมดังกล่าวHandlesอะไีร-*-ซึ่งFunc_PSsixLoadH($gtitle)มันก็บอกแล้วว่าหาหน้าต่างนั้นถ้าเจอก็เปิดถ้าไม่เจอก็error-*-ก็จบแล้ว--จากที่ดูแล้วคนสอนก็บอกให้ทำคือเขารู้ึลึกซึ้งแล้วว่าหาpidไปเพื่อหาพอได้ ค่า handle ก็จะง่ายคือไม่เกิดการซ้อนทับโปรแกรมเดียวกันมักใช้ในกรณีที่เปิดโปรแกรมชื่อเหมือนๆกันแล้วทานค่าหน้าต่างเดียวกันแล้วไม่ส่งไปทำงานหน้าต่างที่2 3 4เลยใช้handleอย่างแรกเลยยากให้มองก่อนว่าทำงาน1หน้าจอให้ผ่านแล้วค่อยทำหน้าจอที่2 3 4ไ่ล่พื้นๆไปก่อน-*-เพราะpidมันไม่ได้ไปช่วยในการแบ่งว่าหน้าต่างนั้นๆจะไล่ค่า 1 2 3พร้อมกันได้มันก็ไล่เหมือนที่นายทำข้างบนนะจุดเริ่มต้นนั้นละ-*-Opt("SendKeyDelay", 5)สำหรับผู้ชำนาญและเล่นเกมส์นั้นๆเป็นเวลานานๆจะรู้ว่าดีเลเกมส์หรือโปรแกรมมันเข้ากันหรือไม่เพราะบางทีบางเกมส์ก็ใช้ได้ดีและอย่างบางทีก็ใช้ได้กลางๆแต่ถ้าจะให้มันกดจากสี3สีรัวๆเราขอสรุปตรงนี้ว่าให้ทำในรูปจริงเท็จเป็น3โปรแกรมจะทำงานได้ไวมากๆเพราะอ่านๆดูไล่จากที่อ่านดูแล้วสรุปได้ว่านายหาสี3สีแบ่งให้กดสีละ1ปุ่มก็คือกำหนดโปรแกรมที่1ว่าหาสีขาวเจอแล้วให้กดF1สมมุติถ้าไม่เจอหากลับไปหาสีแบบนี้จะชัวกว่าถ้าไม่เจอสีกดF1เลยมันจะค้างและกดไปเป็นชั่วโมงๆโหแม่เจ้า-*-เพื่อให้รวน-*-พื้นฐานจะให้ดีเราแนะนำให้ไล่อ่านของพี่posแล้วหัดทำตามให้คล่องแล้วลองดูของพี่autและของคนอื่นๆดูว่าทำแบบเขาได้แล้วทีนี้นายจะเป็นเหมือนๆเราคืออ๋อ จบ-0-ยาวมาก-*-เราไม่สอนนะว่าเขียนอย่างไรเพราะของพี่posมันครอบเรื่องของนายถามเลยอะลองดูให้ดีๆมีทุกอย่างที่หาๆมาไม่เกินบทที่6เลยด้วย-*-

    kobtadam
    kobtadam
    PSsix Member Class II
    PSsix Member Class II


    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty
    จำนวนข้อความ : 41
    ความนิยม : 6
    เข้าร่วมเมื่อ : 28/12/2013

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty Re: [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ]

    ตั้งหัวข้อ by kobtadam 27/01/14, 06:16 am

    loveapple244 พิมพ์ว่า:มีสี3กลุ่มปุ่มกด3ปุ่ม 345 จะให้มันกดพร้อมกันต้องทำ3โปรแกรมถ้า1โปรแกรมมันจะไล่ จากบนลงล่างจากค่าที่นายเขียนวิธีจะให้มันทำงานในเวลาเดียวกันได้ก็คือแยกโปรแกรมมาโดยIf PixelGetColor(182, 72) = 0x29384A Then Send("{F2}")
    EndIf Sleep(10) เป็นโปรแกรมที่1 2 3 เวลาเปิดก็คลิ๊กๆ3โปรแกรมในรูปแปลงไฟลเป็นexe แล้วข้อดีคือมันแบ่งห้องการทำงานเป็นF2 3 4 ไปแต่ข้อเสียคือตอนที่นายไปคลิ๊กที่โปรแกรมมันจะต้องกดโปรแกรมที่1 2 3 อยู่ดีก็คือมันก็จะแบ่ง 1 2 3 แต่ก็จะได้ค่าที่แน่นอนกว่าข้างบนเพราะข้างบนเวลาเกิดถ้ามอนหรืออะไรลุมหรือสะดุดโอกาศตายมี10%แต่ที่แยกออกมามันก็จะลดช่องว่างไปแต่มันก็จะทำให้เพิ่มมือให้คอมอีกจาก1เป็น 2 3 แต่ถ้าจะเขียนในโปรแกรมเดียวกันมันจะเป็นรูปแบบที่ว่า หามอน1ฟัังก์ชั่น เจอแล้วตีเพิ่มค่าตีมอนลงไปฟังชั่นที่2 ก็จะใช้ในรูปfor ลืมบอกว่าควรมีคำสั่งปิดโปรแกรมไว้ซะ1ปุ่มในHotKeySetก็ได้แล้วใส่ค่าesc ไว้ปิดโปรแกรมไรงี้เผื่อโปรแกรมเร็วเกินไปอาจจะเป็นทีว่ามันค้าง-*-จะกดแล้วมันดันไม่กดเำีพราะบางทีส่งค่าไวไปถ้าลงเป็นคีแค่1มันไม่น่าจะมีปัญหาซ้อนทับฉะนั้นอาจจะเป็นการรวนหรือคีไม่ส่งเข้าสู้เกมส์ให้ลองสั่งsendง่ายๆก่อนว่ามันส่งไปที่เกมส์หรือไม่อย่างเราก็สั่งแบบนายอะแต่เราใช้ไว้สแกนหาว่ากดปุ่มดังกล่าวหรือไม่ถ้าไม่กดปุ่มก็ทำงานต่อไรงี้โดยสรุปไว้นี้น่าจะเป็นประโยชน์เพราะดูจากโปรแกรมที่นายเขียนเป็นจุดเริ่มเต้นหาค่า pidแล้วได้ค่า Handlesนั้นๆมา-*-โดยการเลือกpidซึ่งเท่ากับว่าพึ่งจะหาว่าใช่หน้าต่างโปรแกรมที่ต้องการหรือเปล่าหรือแค่ว่าโปรแกรมดังกล่าวHandlesอะไีร-*-ซึ่งFunc_PSsixLoadH($gtitle)มันก็บอกแล้วว่าหาหน้าต่างนั้นถ้าเจอก็เปิดถ้าไม่เจอก็error-*-ก็จบแล้ว--จากที่ดูแล้วคนสอนก็บอกให้ทำคือเขารู้ึลึกซึ้งแล้วว่าหาpidไปเพื่อหาพอได้ ค่า handle ก็จะง่ายคือไม่เกิดการซ้อนทับโปรแกรมเดียวกันมักใช้ในกรณีที่เปิดโปรแกรมชื่อเหมือนๆกันแล้วทานค่าหน้าต่างเดียวกันแล้วไม่ส่งไปทำงานหน้าต่างที่2 3 4เลยใช้handleอย่างแรกเลยยากให้มองก่อนว่าทำงาน1หน้าจอให้ผ่านแล้วค่อยทำหน้าจอที่2 3 4ไ่ล่พื้นๆไปก่อน-*-เพราะpidมันไม่ได้ไปช่วยในการแบ่งว่าหน้าต่างนั้นๆจะไล่ค่า 1 2 3พร้อมกันได้มันก็ไล่เหมือนที่นายทำข้างบนนะจุดเริ่มต้นนั้นละ-*-Opt("SendKeyDelay", 5)สำหรับผู้ชำนาญและเล่นเกมส์นั้นๆเป็นเวลานานๆจะรู้ว่าดีเลเกมส์หรือโปรแกรมมันเข้ากันหรือไม่เพราะบางทีบางเกมส์ก็ใช้ได้ดีและอย่างบางทีก็ใช้ได้กลางๆแต่ถ้าจะให้มันกดจากสี3สีรัวๆเราขอสรุปตรงนี้ว่าให้ทำในรูปจริงเท็จเป็น3โปรแกรมจะทำงานได้ไวมากๆเพราะอ่านๆดูไล่จากที่อ่านดูแล้วสรุปได้ว่านายหาสี3สีแบ่งให้กดสีละ1ปุ่มก็คือกำหนดโปรแกรมที่1ว่าหาสีขาวเจอแล้วให้กดF1สมมุติถ้าไม่เจอหากลับไปหาสีแบบนี้จะชัวกว่าถ้าไม่เจอสีกดF1เลยมันจะค้างและกดไปเป็นชั่วโมงๆโหแม่เจ้า-*-เพื่อให้รวน-*-พื้นฐานจะให้ดีเราแนะนำให้ไล่อ่านของพี่posแล้วหัดทำตามให้คล่องแล้วลองดูของพี่autและของคนอื่นๆดูว่าทำแบบเขาได้แล้วทีนี้นายจะเป็นเหมือนๆเราคืออ๋อ จบ-0-ยาวมาก-*-เราไม่สอนนะว่าเขียนอย่างไรเพราะของพี่posมันครอบเรื่องของนายถามเลยอะลองดูให้ดีๆมีทุกอย่างที่หาๆมาไม่เกินบทที่6เลยด้วย-*-



    ขอบคุณครับ เราก็อ่านทุกบทเลยอะ = =" แต่เราไม่เข้าใจเราก็กลับไปอ่านอีก สงสัยต้องอ่านไปแว้วทำไปแล้วมาอ่านอีก

    เราอยากให้ 1 โปรแกรมทำงาน 1 หน้าจอ และทำได้ในขณะพับจอ อะ คอมจะได้ทำอย่างอื่นได้ด้วย หรือ เขียนโปรแกรมหลายชนิด ให้ทำไตเติ้ลชื่อเดียวกัน แต่ทำงานหน้าต่างใครหน้าต่างมัน ทำได้ขณะพับจอด้วยงะ
    kobtadam
    kobtadam
    PSsix Member Class II
    PSsix Member Class II


    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty
    จำนวนข้อความ : 41
    ความนิยม : 6
    เข้าร่วมเมื่อ : 28/12/2013

    [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ] Empty Re: [Code]เมื่อสีที่กำหนดหายไป กดคีย์ ที่กดหนด [ช่วยวิจารย์ทีครับ]

    ตั้งหัวข้อ by kobtadam 27/01/14, 06:17 am

    โค๊ดตัวบน ผมเริ่มจะเข้าใจแล้วหละว่ามันเอาไปใช้ยังไง กะทู้นี้ผมโพสตอนหัดวันแรกเลยงะ ตอนนั้นไม่รู้ว่า นี้คือ GUI = ="

      เวลาขณะนี้ 26/04/24, 06:32 pm