오토핫키 커뮤니티

조회 수 153 추천 0 댓글 6

^F1::

coordmode, pixel, realtive
coordmode, mouse, realtive

Loop


{
 A:

 ImageSearch, x1, y1, 1, 1, 1000, 330, *100 1.bmp
 if(ErrorLevel=0)
{
  controlsend,, {d}, le
  controlSend,, {3}, le
  MouseClick, left, %x1%, %y1%
  Sleep, 1100
  MouseMove, 0, 0
  sleep, 200
  gosub, A
}

 B:

 ImageSearch, x1, y1, 1, 1, 1000, 330, *30 2.bmp

 if(ErrorLevel=0)
{
  controlsend,, {d}, le
  controlSend,, {3}, le
  MouseClick, left, %x1%, %y1%
  Sleep, 1100
  MouseMove, 0, 0
  sleep, 200
  gosub, A
}

if(ErrorLevel=1)

{

  controlsend,, {d}, le

  controlsend,, {9}, le

  sleep, 1100 

}
return
^F2::Pause


원래 이런식으로 짜려고 했던 건데


----------------------------------------------------------------

이걸 postmessage 를 이용해보려하는데



gui, add, text, x30 y5 w110 h20, 프로그램
gui, add, button, x20 y25 w110 h20, 시작
gui, add, button, x20 y55 w110 h20, 종료
gui, show

프로그램시작 := false

return

guiclose:
{
 프로그램시작 := false
 ExitApp
}
return

button시작:
{
 guicontrol, , a, 실행중
 
 프로그램시작 :=true


클릭(x1, y1)                        ; 이부분의 값들을 어떻게 변경해줘야할지와
{
 coordmode, mouse, window
 wingetpos, ax, ay, aw, ah, Le
 
 내부좌표x := x좌표 - ax
 내부좌표y := y좌표 - ay
 
 iparam :=  내부좌표x|내부좌표y<<16
 PostMessage, 0x201, 1, %iparam%, , le
 PostMessage, 0x202, 0, %iparam%, , le
}


coordmode, pixel, screen


loop

{

 ImageSearch, x1, y1, 1, 1, 635, 330, *30 1.bmp
 if(ErrorLevel=0)
{
  controlsend,, {d}, le
  controlSend,, {3}, le

  클릭(x1, y1)                     ;  저게 해결이 되면 이부분을 이렇게 해주면 될까요?
  Sleep, 1100
  gosub, button시작
}

 ImageSearch, x1, y1, 1, 1, 635, 330, *30 2.bmp

 if(ErrorLevel=0)
{
  controlsend,, {d}, le
  controlSend,, {3}, le

 클릭(x1, y1)
  Sleep, 1100
  gosub, button시작
}
 if(errorlevel=1)
{
 controlsend,, {d}, le
 controlsend,, {9}, le
 sleep, 1100
 
}

}
}
return

button종료:
{
 매크로시작 := false
 ExitApp
}
return


  • GTS3 2016.03.30 20:14
    screen 모드로 통일해야해요
  • jh91 2016.03.30 20:39
    screen으로 통일만 시켜주면 되나요?
  • 리체 2016.03.30 20:41

    일단은 활성창이든 아니든 coordmode, 어떤것이든 상관없습니다.

    모드의 정의와 상관없이 포스트메시지는 해당 윈도우의 클라이언트 좌표가 기준입니다.


    클릭(x1, y1)                        ; 이부분의 값들을 어떻게 변경해줘야할지와
    {
     coordmode, mouse, window ;여기서 window는 relative와 동일한 용어입니다. 할 필요가 없습니다.
     wingetpos, ax, ay, aw, ah, Le ;wingetpos는 스크린이 기준입니다. 또한 Le에 대한 정의가 없습니다.

    ;위 본문에서는 이 명령어가 필요치 않습니다.

    ;wingetpos가 필요할때는 넘겨받은 좌표가 screen좌표일때입니다.
     
     내부좌표x := x좌표 - ax ;
     내부좌표x := x1-border
     내부좌표y := y좌표 - ay ; 
    내부좌표x := y1-caption-border
     ;위의 x1, y1값은 relative 좌표라고 가정할때의 계산입니다.

     ;border는 테두리 크기이고, caption은 제목높이입니다.

     ;당연하게도 아직 정의되지 않았으니 값은 구해서 넣으셔야 합니다.

     ;만약, x1, y1값이 client값이라면 위의 계산은 할 필요가 없습니다.


     iparam :=  내부좌표x|내부좌표y<<16
     PostMessage, 0x201, 1, %iparam%, , le ;역시 le에 대한 정의가 없음
     PostMessage, 0x202, 0, %iparam%, , le
    }


    정리되시면 다시 올려보세요.

  • 제발등업좀2 2016.03.30 20:50
    언제봐도.. 명쾌하게 답변주시네요 ^^ 대단하십니다 이리 정성스럽게 ㅎㅎ
  • jh91 2016.03.30 20:51
    wingotpos, ax, ay, aw, ah, le 여기서 le 이부분은 window title 부분이 아닌가요? 그래서 창이름을 le라 준건데..

    x1, y1 의경우에는 그냥 변수로두고 border 값과 caption 값만 빼주면 되는건가요
    아니면 x1, y1의 relative 값을 넣어 줘야하는건가요
    지금 하려는 창의 크기가 relative 좌표가 끝에서 끝까지가 0,0,635,330 인데
    좀 어렵네요 ... 그냥 이미지서치만 쓰면 간단한거같은데
    창은 띄워놓고 다른 것을 하려고 만드려니 힘드네요
  • 리체 2016.03.30 21:58

    윈도우 타이틀을 le 로 만드셨다면 맞습니다. 보통은 이리 간단하게 만들지 않아서 정의되지 않은줄 알았습니다.

    그런데, 위에는 Le 로 쓰고, 아래는 le로 사용하셨네요.

    타이틀은 대소문자를 정확히 구분해줘야 합니다.

    먼저, 함수에 대한 정의와 사용법을 확실히 익히세요.
    - 예지력1님의 강좌가 모두 사라졌군요. 아쉽네요.

    미약하나마..
    https://tailstar.net/10903034


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 오핫으로 마우스 포인터 모양 변경 가능한가요? 4 bellms 2016.05.01 0/0
질문 trans 기능에 질문 드립니다 6 라미첼 2016.04.01 0/0
질문 비활성 post 명령어에 대해서 . 2 행복만땅 2016.03.31 0/0
질문 블루스택2 비활성 이미지서치 질문드립니다.. GDIP 2 bellms 2016.04.04 0/0
질문 postmessage 질문드립니다. 이미지 6 jh91 2016.03.30 0/0
질문 윈드로이 멀티 할때요 ~~ 제발등업좀2 2016.03.30 0/0
정보 외치기님 푸쉬블렛 .. 시간 보내기 (누군가 질문던지신... 2 제발등업좀2 2016.03.30 1/0
질문 함수 이미지서치 투명!!베스트글 모바게님의 함수 질문... 2 혜띠뿌뿌 2016.03.29 0/0
질문 오토핫키 멀티 질문이요! 5 니기리리링 2016.03.30 0/0
질문 미뮤는 포스트메시지 윈무드 같은거 안먹나요? 10 로우얄 2016.03.30 0/0
질문 Gdip_ImageSearch 이미지 차이 질문 2 fnwj 2016.03.26 0/0
질문 오토핫키로 F1,F2 같은 키도 누르게 할 수 있나요?? 3 메루루루 2016.03.29 0/0
자유 녹스 비활성화 붙여넣기 postmessage 1 띨빵큐라 2016.03.29 0/0
자유 COM_L.ahk 라이브러리 가지고 계신분 계신가요? 1 Hangoon 2018.01.29 0/0
질문 불규칙적으로 움직이는 이미지 파일 가리는방법이 있을... 1 개멍멍멍 2016.03.20 0/0
질문 이미지 서치 도움좀 부탁드립니다. 13 뎅뎅 2019.08.17 0/0
질문 Gdip문의 4 fnwj 2016.03.17 0/0
질문 비활성 문자입력&붙여넣기 질문드려요 1 띨빵큐라 2016.03.29 0/0
질문 adb서치 질문 1 fnwj 2016.03.16 0/0
질문 화면에 웹브라우져 여러개 띄우고 각각 다른 프록시를 ... 1 오켕 2016.03.29 0/0
Board Pagination Prev 1 ... 124125126127128129130131132 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글