1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hỏi đáp Thắc mắc controlsend "@" trong NoxPlayer?

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi kvanquang, 20/12/18.

  1. kvanquang

    kvanquang Thành viên mới
    • 3/6

    Tham gia ngày:
    18/9/18
    Bài viết:
    15
    Đã được thích:
    2
    Chính thức không hiểu vì sao, khi mình dùng code số 1 để send text "abc@def" vào NoxPlayer thì ra chuẩn ok. Nhưng vẫn code đó mình chèn vào phần có Gui khi ấn Button 1 như ở code 2 bên dưới, thì lại bị thành "abc2def", "@" luôn bị thành "2" mà không rõ nguyên nhân là gì.

    Code 1:
    Mã (AutoIt):
    $hWnd = WinGetHandle("P1")
    ControlClick($hWnd,"","","left",1,144,145)
    sleep(500)
    ControlSend($hWnd,"","","abc@def",1)
    Code 2:
    Mã (AutoIt):
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\Program Files (x86)\AutoIt3\koda_1.7.3.0\Forms\Liveme Au.kxf
    $Form1 = GUICreate("Form1", 140, 329, 2155, 335)
    $Button1 = GUICtrlCreateButton("Nox 1", 8, 8, 43, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $hWnd = WinGetHandle("P1")
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
             case $Button1
    ControlClick($hWnd,"","","left",1,144,145)
    sleep(500)
    ControlSend($hWnd,"","","abc@def",1)
        EndSwitch
    WEnd
     
     
  2. yutijang

    yutijang Thành viên năng động
    • 28/34

    Tham gia ngày:
    1/7/18
    Bài viết:
    110
    Đã được thích:
    61
    Thử kiểu này xem sao bạn? :)
    Mã (AutoIt):
    ControlSend($hWnd,"","","abc" & Chr(64) & "def",1)
     
    kvanquang thích bài này.
  3. kvanquang

    kvanquang Thành viên mới
    • 3/6

    Tham gia ngày:
    18/9/18
    Bài viết:
    15
    Đã được thích:
    2
    Vẫn không được bạn ạ. Lạ ở chỗ không hiểu sao chạy độc lập thì ra chữ "@", mà dán vào button lại ko ra được,ko hiểu nổi.
     
    yutijang thích bài này.
  4. yutijang

    yutijang Thành viên năng động
    • 28/34

    Tham gia ngày:
    1/7/18
    Bài viết:
    110
    Đã được thích:
    61
    Đã tải NoxPlayer về thử, đúng như bạn nói, không thể gởi ký tự "@" :mad:
    Có thể do cấu hình phương thức nhập của NoxPlayer.

    Nếu bạn không tìm được cách gì tốt hơn thì hãy dùng cách nông dân này, send được "@" và các ký tự tương tự "@" nằm phía trên dãy số trên bàn phím.
    Mã (AutoIt):
    ControlSend($hWnd,"","","abc",1)
    Send("{SHIFTDOWN}")
    ControlSend($hWnd,"","","@")
    Send("{SHIFTUP}")
    ControlSend($hWnd,"","","def",1)
    Hi vọng giúp được,
    Thân!
     
    kvanquang thích bài này.
  5. kvanquang

    kvanquang Thành viên mới
    • 3/6

    Tham gia ngày:
    18/9/18
    Bài viết:
    15
    Đã được thích:
    2
    Thank bạn nhiệt tình giúp đỡ, mình vẫn controlsend được @ bạn ơi. controlSend ngay trong phần nhập account google của NoxPlayer chứ ko cần trong pm nào cả. Vẫn đề là như mình nói trên đầu đó, gửi trực tiếp thì ko sao, nhưng gán lệnh qua nút thì lại ko dc, ký lạ quá.
     
  6. Tungtata

    Tungtata Tà tà mà sống ~ Thành viên BQT Administrator
    • 93/113

    Tham gia ngày:
    25/8/15
    Bài viết:
    289
    Đã được thích:
    924
    Nơi ở:
    Hà Nội
    clipput rồi send ctrl V xem
    Ngoài ra nếu nhập liệu vào Nox mình khuyên nên sử dụng adb
    Mã (Text):
    adb shell input text email\@gmail.com
     
    yutijang and kvanquang like this.
  7. kvanquang

    kvanquang Thành viên mới
    • 3/6

    Tham gia ngày:
    18/9/18
    Bài viết:
    15
    Đã được thích:
    2
    Thanks b, có điều mình ko muốn bị chiếm chuột hay phím ấy. Không biêt dùng adb có bị chiếm ko?
     
  8. yutijang

    yutijang Thành viên năng động
    • 28/34

    Tham gia ngày:
    1/7/18
    Bài viết:
    110
    Đã được thích:
    61
    Bạn có thử cách của mình chưa? :)
    Vẫn send không chiếm chuột/phím mà có thể để trong button hay function.
     
    Chỉnh sửa cuối: 22/12/18
  9. yutijang

    yutijang Thành viên năng động
    • 28/34

    Tham gia ngày:
    1/7/18
    Bài viết:
    110
    Đã được thích:
    61
    Bổ sung cách dùng adb shell cho ai chưa biết (nhờ đọc bài của admin nên mình tìm hiểu), mình cũng mới vừa biết nên mình viết lại đây, hi vọng là có ích cho ai đó.
    (Mình chỉ áp dụng với BlueStacks mà máy mình đang có)

    Từ folder cài đặt BlueStacks có chứa HD-Adb.exe, AdbWinApi.dll, vào chế độ shell bằng lệnh HD-Adb.exe shell, hoặc dùng hàm Run(), ShellExecute() từ AutoIT.

    Mã (AutoIt):
    Run("C:\Program Files (x86)\BlueStacks\HD-Adb.exe shell adb shell input tap 720 360","",@SW_HIDE)
    ShellExecute("C:\Program Files (x86)\BlueStacks\HD-Adb.exe", "shell adb shell input text [email protected]", "", "open", @SW_HIDE)
    Một số cách sử dụng của lệnh input:
    input text "insert%syour%stext%shere" (%s = SPACE)
    input keyevent <key code number or name>
    input [touchscreen|touchpad|touchnavigation] tap <x><y>
    input [touchscreen|touchpad|touchnavigation] swipe <x1><y1><x2><y2>[duration(ms)]
    input trackball press
    input trackball roll <dx><dy>

    0--> "KEYCODE_0"
    1--> "KEYCODE_SOFT_LEFT"
    2--> "KEYCODE_SOFT_RIGHT"
    3--> "KEYCODE_HOME"
    4--> "KEYCODE_BACK"
    5--> "KEYCODE_CALL"
    6--> "KEYCODE_ENDCALL"
    7--> "KEYCODE_0"
    8--> "KEYCODE_1"
    9--> "KEYCODE_2"
    10--> "KEYCODE_3"
    11--> "KEYCODE_4"
    12--> "KEYCODE_5"
    13--> "KEYCODE_6"
    14--> "KEYCODE_7"
    15--> "KEYCODE_8"
    16--> "KEYCODE_9"
    17--> "KEYCODE_STAR"
    18--> "KEYCODE_POUND"
    19--> "KEYCODE_DPAD_UP"
    20--> "KEYCODE_DPAD_DOWN"
    21--> "KEYCODE_DPAD_LEFT"
    22--> "KEYCODE_DPAD_RIGHT"
    23--> "KEYCODE_DPAD_CENTER"
    24--> "KEYCODE_VOLUME_UP"
    25--> "KEYCODE_VOLUME_DOWN"
    26--> "KEYCODE_POWER"
    27--> "KEYCODE_CAMERA"
    28--> "KEYCODE_CLEAR"
    29--> "KEYCODE_A"
    30--> "KEYCODE_B"
    31--> "KEYCODE_C"
    32--> "KEYCODE_D"
    33--> "KEYCODE_E"
    34--> "KEYCODE_F"
    35--> "KEYCODE_G"
    36--> "KEYCODE_H"
    37--> "KEYCODE_I"
    38--> "KEYCODE_J"
    39--> "KEYCODE_K"
    40--> "KEYCODE_L"
    41--> "KEYCODE_M"
    42--> "KEYCODE_N"
    43--> "KEYCODE_O"
    44--> "KEYCODE_P"
    45--> "KEYCODE_Q"
    46--> "KEYCODE_R"
    47--> "KEYCODE_S"
    48--> "KEYCODE_T"
    49--> "KEYCODE_U"
    50--> "KEYCODE_V"
    51--> "KEYCODE_W"
    52--> "KEYCODE_X"
    53--> "KEYCODE_Y"
    54--> "KEYCODE_Z"
    55--> "KEYCODE_COMMA"
    56--> "KEYCODE_PERIOD"
    57--> "KEYCODE_ALT_LEFT"
    58--> "KEYCODE_ALT_RIGHT"
    59--> "KEYCODE_SHIFT_LEFT"
    60--> "KEYCODE_SHIFT_RIGHT"
    61--> "KEYCODE_TAB"
    62--> "KEYCODE_SPACE"
    63--> "KEYCODE_SYM"
    64--> "KEYCODE_EXPLORER"
    65--> "KEYCODE_ENVELOPE"
    66--> "KEYCODE_ENTER"
    67--> "KEYCODE_DEL"
    68--> "KEYCODE_GRAVE"
    69--> "KEYCODE_MINUS"
    70--> "KEYCODE_EQUALS"
    71--> "KEYCODE_LEFT_BRACKET"
    72--> "KEYCODE_RIGHT_BRACKET"
    73--> "KEYCODE_BACKSLASH"
    74--> "KEYCODE_SEMICOLON"
    75--> "KEYCODE_APOSTROPHE"
    76--> "KEYCODE_SLASH"
    77--> "KEYCODE_AT"
    78--> "KEYCODE_NUM"
    79--> "KEYCODE_HEADSETHOOK"
    80--> "KEYCODE_FOCUS"
    81--> "KEYCODE_PLUS"
    82--> "KEYCODE_MENU"
    83--> "KEYCODE_NOTIFICATION"
    84--> "KEYCODE_SEARCH"
    85--> "KEYCODE_MEDIA_PLAY_PAUSE"
    86--> "KEYCODE_MEDIA_STOP"
    87--> "KEYCODE_MEDIA_NEXT"
    88--> "KEYCODE_MEDIA_PREVIOUS"
    89--> "KEYCODE_MEDIA_REWIND"
    90--> "KEYCODE_MEDIA_FAST_FORWARD"
    91--> "KEYCODE_MUTE"
    92--> "KEYCODE_PAGE_UP"
    93--> "KEYCODE_PAGE_DOWN"
    94--> "KEYCODE_PICTSYMBOLS"
    ...
    122--> "KEYCODE_MOVE_HOME"
    123--> "KEYCODE_MOVE_END"

    Đã thử với lệnh click (input tap), send (input text), clickdrag (input swipe) hoàn toàn không chiếm chuột/phím, inactive window và ngay cả minimize window, maximize window.
     
    Chỉnh sửa cuối: 22/12/18
  10. Tungtata

    Tungtata Tà tà mà sống ~ Thành viên BQT Administrator
    • 93/113

    Tham gia ngày:
    25/8/15
    Bài viết:
    289
    Đã được thích:
    924
    Nơi ở:
    Hà Nội
    adb là ko chiếm một cái chi nhé =)))
     
    kvanquang thích bài này.
  11. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
    Thế làm sao để xoá text trong adb nhỉ. send text spaceback k có tác dụng
     
  12. Tungtata

    Tungtata Tà tà mà sống ~ Thành viên BQT Administrator
    • 93/113

    Tham gia ngày:
    25/8/15
    Bài viết:
    289
    Đã được thích:
    924
    Nơi ở:
    Hà Nội
    adb shell input keyevent 67

    Tham khảo bảng keyevent

    0--> "KEYCODE_0"
    1--> "KEYCODE_SOFT_LEFT"
    2--> "KEYCODE_SOFT_RIGHT"
    3--> "KEYCODE_HOME"
    4--> "KEYCODE_BACK"
    5--> "KEYCODE_CALL"
    6--> "KEYCODE_ENDCALL"
    7--> "KEYCODE_0"
    8--> "KEYCODE_1"
    9--> "KEYCODE_2"
    10--> "KEYCODE_3"
    11--> "KEYCODE_4"
    12--> "KEYCODE_5"
    13--> "KEYCODE_6"
    14--> "KEYCODE_7"
    15--> "KEYCODE_8"
    16--> "KEYCODE_9"
    17--> "KEYCODE_STAR"
    18--> "KEYCODE_POUND"
    19--> "KEYCODE_DPAD_UP"
    20--> "KEYCODE_DPAD_DOWN"
    21--> "KEYCODE_DPAD_LEFT"
    22--> "KEYCODE_DPAD_RIGHT"
    23--> "KEYCODE_DPAD_CENTER"
    24--> "KEYCODE_VOLUME_UP"
    25--> "KEYCODE_VOLUME_DOWN"
    26--> "KEYCODE_POWER"
    27--> "KEYCODE_CAMERA"
    28--> "KEYCODE_CLEAR"
    29--> "KEYCODE_A"
    30--> "KEYCODE_B"
    31--> "KEYCODE_C"
    32--> "KEYCODE_D"
    33--> "KEYCODE_E"
    34--> "KEYCODE_F"
    35--> "KEYCODE_G"
    36--> "KEYCODE_H"
    37--> "KEYCODE_I"
    38--> "KEYCODE_J"
    39--> "KEYCODE_K"
    40--> "KEYCODE_L"
    41--> "KEYCODE_M"
    42--> "KEYCODE_N"
    43--> "KEYCODE_O"
    44--> "KEYCODE_P"
    45--> "KEYCODE_Q"
    46--> "KEYCODE_R"
    47--> "KEYCODE_S"
    48--> "KEYCODE_T"
    49--> "KEYCODE_U"
    50--> "KEYCODE_V"
    51--> "KEYCODE_W"
    52--> "KEYCODE_X"
    53--> "KEYCODE_Y"
    54--> "KEYCODE_Z"
    55--> "KEYCODE_COMMA"
    56--> "KEYCODE_PERIOD"
    57--> "KEYCODE_ALT_LEFT"
    58--> "KEYCODE_ALT_RIGHT"
    59--> "KEYCODE_SHIFT_LEFT"
    60--> "KEYCODE_SHIFT_RIGHT"
    61--> "KEYCODE_TAB"
    62--> "KEYCODE_SPACE"
    63--> "KEYCODE_SYM"
    64--> "KEYCODE_EXPLORER"
    65--> "KEYCODE_ENVELOPE"
    66--> "KEYCODE_ENTER"
    67--> "KEYCODE_DEL"
    68--> "KEYCODE_GRAVE"
    69--> "KEYCODE_MINUS"
    70--> "KEYCODE_EQUALS"
    71--> "KEYCODE_LEFT_BRACKET"
    72--> "KEYCODE_RIGHT_BRACKET"
    73--> "KEYCODE_BACKSLASH"
    74--> "KEYCODE_SEMICOLON"
    75--> "KEYCODE_APOSTROPHE"
    76--> "KEYCODE_SLASH"
    77--> "KEYCODE_AT"
    78--> "KEYCODE_NUM"
    79--> "KEYCODE_HEADSETHOOK"
    80--> "KEYCODE_FOCUS"
    81--> "KEYCODE_PLUS"
    82--> "KEYCODE_MENU"
    83--> "KEYCODE_NOTIFICATION"
    84--> "KEYCODE_SEARCH"
    85--> "KEYCODE_MEDIA_PLAY_PAUSE"
    86--> "KEYCODE_MEDIA_STOP"
    87--> "KEYCODE_MEDIA_NEXT"
    88--> "KEYCODE_MEDIA_PREVIOUS"
    89--> "KEYCODE_MEDIA_REWIND"
    90--> "KEYCODE_MEDIA_FAST_FORWARD"
    91--> "KEYCODE_MUTE"
    92--> "KEYCODE_PAGE_UP"
    93--> "KEYCODE_PAGE_DOWN"
    94--> "KEYCODE_PICTSYMBOLS"
    ...
    122--> "KEYCODE_MOVE_HOME"
    123--> "KEYCODE_MOVE_END"
     
    #Rainy# Hoàng Vũ IT thích bài này.
  13. sangqc001

    sangqc001 Thành viên mới
    • 3/6

    Tham gia ngày:
    30/4/17
    Bài viết:
    13
    Đã được thích:
    1
    có bác nào hay tương tác autoit với adb nox cho e hỏi chút đc ko?tks !
     
  14. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
    adb nox thì thao tác qua cmd nên ngôn ngữ nào cũng như nhau cả, chủ yếu là dùng adb như nào thôi. bạc có thắc mắc thi cứ post sẽ có người giải đáp
     
  15. kvanquang

    kvanquang Thành viên mới
    • 3/6

    Tham gia ngày:
    18/9/18
    Bài viết:
    15
    Đã được thích:
    2
    Thank các bạn, thấy cái adb hay mà chưa hiểu cách dùng cho Nox ra sao. Mình thấy trong folder Nox có sẵn nox_adb.exe. Mình gửi trong CMD "E:\Nox\Nox\bin\nox_adb.exe adb shell input tap 201 267" mà ko thấy kick gì, ko hiểu thiếu bước gì nữa.
     
  16. kvanquang

    kvanquang Thành viên mới
    • 3/6

    Tham gia ngày:
    18/9/18
    Bài viết:
    15
    Đã được thích:
    2
    Bạn có thử được với Nox ko b ơi. Trong Nõ thì có file Nox_adb.exe chứ k phải hd-adb như bluestack, mình chạy cmd thử thấy ko dc. ko thấy sai bước nào, mình đã bật usb debug trong Nox.
     
  17. kvanquang

    kvanquang Thành viên mới
    • 3/6

    Tham gia ngày:
    18/9/18
    Bài viết:
    15
    Đã được thích:
    2
    À mình tương tác được adb với Nox rồi, với Nox thì lệnh ngắn gọn "E:\Nox\Nox\bin\nox_adb.exe shell input tap 201 267" vậy thôi. Nhưng lấy tọa độ bằng autoit info thấy có vẻ không chính xác.
     
  18. yutijang

    yutijang Thành viên năng động
    • 28/34

    Tham gia ngày:
    1/7/18
    Bài viết:
    110
    Đã được thích:
    61
    Bạn hãy chọn thử Client khi lấy tọa độ trong AutoIt Window Info
    [​IMG]
     
    kvanquang thích bài này.
  19. kvanquang

    kvanquang Thành viên mới
    • 3/6

    Tham gia ngày:
    18/9/18
    Bài viết:
    15
    Đã được thích:
    2
    Mình thử thấy ko chính xác, do đó mình đã dùng cách bật tọa độ chuột trong develope option cua android thấy ok r.
     
    yutijang thích bài này.
  20. Tungtata

    Tungtata Tà tà mà sống ~ Thành viên BQT Administrator
    • 93/113

    Tham gia ngày:
    25/8/15
    Bài viết:
    289
    Đã được thích:
    924
    Nơi ở:
    Hà Nội
    bạn có thể bật show touch trong phần tuỳ chọn nhà phát triển (developer option để hiện toạ độ chính xác nhé)
    // Đây là trên 1 máy Xiaomi, trên Nox hay bất cứ trình giả lập nào cũng có tươgn tự nhé


    [​IMG]
     

Chia sẻ trang này

Đang tải...