오토핫키 커뮤니티

질문
2016.06.05 13:10

이미지서치 질문합니다

조회 수 146 추천 0 댓글 4
클릭(x좌표, y좌표)
 {
WinGetPos, wX, wY, wW, wH, ahk_class BlueStacks App Player
클릭X := FoundX - pos_x
클릭Y := FoundY - pos_y
lparam := 창내부x|창내부y<<16
PostMessage, 0x201, 0, %lparam%, , ahk_class BlueStacks App Player
PostMessage, 0x202, 0, %lparam%, , ahk_class BlueStacks App Player
Sleep, 1000
}
;포스트메세지 함수 ▲

Button작동:
{
Gui,Submit,nohide
GuiControl, , A, 작동중
getlog("블루스택을 실행합니다")
매크로작동 := true
클리어횟수 := 0
WinGetPos, pos_x, pos_y, width, height, BlueStacks App Player
x_right := width + pos_x
y_bottom := height + pos_y
LOOP
{
Imagesearch, FoundX, FoundY, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *20 server.bmp
if (ErrorLevel = 0)
{
클릭(클릭X, 클릭Y)
getlog("아이콘을 클릭합니다")
sleep, 500
}
}
}
return
https://i.imgur.com/jejYwDB.png
이렇게 뜹니다 저는 블택에서 아이콘을 클릭하는줄알았더니 폴더에 있는 icon.bmp를 찾는거였네요 폴더를 최소화시키니 로그가 안나오네요.
블택에서 있는 아이콘을 클릭하려면 어떻게 해야될까요

  • 리체 2016.06.05 17:51

    먼저 좌표의 개념부터 이해하세요.

    좌표는 스크린,윈도우,클라이언트 3가지가 있습니다.


    코드를 보니 이미지서치는 스크린을 이용하시는가 보네요.

    그리고 스크린에서 윈도우의 위치를 빼셨고요

    이제 윈도우 좌표가 되었습니다.


    하지만 클릭은 포스트메시지를 사용하셨습니다.

    포스트메시지는 클라이언트 좌표를 사용합니다.

    윈도우 좌표로부터 보더와 캡션을 빼면 클라이언트 좌표가 됩니다.

    보더와 캡션은 sysget 명령으로 얻을수 있고 스파이나 윈도우인포에 보이는 좌표로도

    얼마가 차이나는지 확인이 가능하죠.


    이곳에 이와 유사한 좌표클릭 질문만 열개도 넘을겁니다.

  • PlusK 2016.06.05 18:04
    네감사합니다
  • PlusK 2016.06.06 01:38
    CoordMode, Pixel, Client 로바꾼뒤 블택에서만 이미지서치를 하는거같습니다
    하지만 클릭은 한다고 로그에 나오지만 아이콘이 아닌 다른곳을 클릭하는거같습니다
    클릭(x좌표, y좌표)
    {
    WinGetPos, wX, wY, wW, wH, ahk_class BlueStacks App Player
    클릭X := FoundX - pos_x
    클릭Y := FoundY - pos_y
    lparam := 창내부x|창내부y<<16
    PostMessage, 0x201, 0, %lparam%, , ahk_class BlueStacks App Player
    PostMessage, 0x202, 0, %lparam%, , ahk_class BlueStacks App Player
    Sleep, 1000
    }
    ;포스트메세지 함수 ▲

    Button하드인증:
    {
    msgbox, %C%
    }
    return

    Button작동:
    {
    Gui,Submit,nohide
    GuiControl, , A, 작동중
    getlog("블루스택을 실행합니다")
    매크로작동 := true
    WinGetPos, pos_x, pos_y, width, height, BlueStacks App Player
    x_right := width + pos_x
    y_bottom := height + pos_y
    LOOP
    {
    Imagesearch, FoundX, FoundY, %pos_x%, %pos_y%, %x_right%, %y_bottom%, *20 %A_ScriptDir%\Image\icon.png
    if (ErrorLevel = 0)
    {
    클릭(클릭X, 클릭Y)
    getlog("아이콘을 클릭합니다")
    sleep, 500
    }
    if (ErrorLevel = 01)
    {
    getlog("아이콘을 못찾음")
    sleep, 500
    }

    }
    }
    return
  • 지옥님 2016.06.09 17:52

    좋은정보 받아갑니다.~~ 저도 배우는 입장이라


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 이제 막 시작한 초보 질문 드립니다.. 6 111dfa 2016.06.12 0/0
정보 마지막으로 작업했던 오토핫키 공유(4) -끝- 2 Vesper 2016.06.11 1/0
정보 마지막으로 작업했던 오토핫키 공유(3) 1 Vesper 2016.06.10 1/0
정보 마지막으로 작업했던 오토핫키 공유(2) 2 Vesper 2016.11.03 1/0
정보 마지막으로 작업했던 오토핫키 공유(1) 6 Vesper 2017.05.29 1/0
질문 세븐나이츠 중지 되었을 때 대응방안 있나요? 불꽃낭자수린 2016.06.18 0/-5
질문 미뮤 PostMessage 마우스클릭이 안되네요... 단백질 2016.06.09 0/0
질문 비활성드래그 ㅜㅜㅜ 13 셋쇼마루 2016.06.12 0/0
질문 안녕하세요 정규식 질문? (맞나모르겟네요) 5 제발등업좀2 2016.06.14 0/0
자유 오토핫키로 가능한가요? 7 Auto영웅 2016.06.11 1/0
질문 안녕하세요 오토핫키를 배워보려고 하는데요 4 갈색머리 2016.06.09 0/0
질문 오토핫키 단축키 없이 실행시 바로 진행할려고 하면 어... 2 todis 2016.06.07 0/0
질문 스크립트 초기화하거나 내가 원하는 부분부터 시작은 ... 7 왜6자냐 2016.06.08 0/0
질문 이미지경로에 변수질문이요/// 4 셋쇼마루 2016.06.06 0/0
질문 Progress 저장 질문 6 괴리사 2016.06.05 0/0
정보 MsgBox 설정 3 괴리사 2016.06.08 2/0
질문 인터넷 텍스트 데이터를 읽어들여 엑셀에 넣는 법 3 좀비님 2016.06.10 0/0
질문 이미지서치 질문합니다 4 PlusK 2016.06.09 0/0
질문 비활성클릭 질문합니다 2 PlusK 2016.06.05 0/0
질문 리스트 박스 질문 드립니다. 4 bellms 2016.06.05 0/0
Board Pagination Prev 1 ... 116117118119120121122123124 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글