매크로

질문
2015.10.17 00:38

Nox 에서 PostMessage 가 안되요.

조회 수 2033 추천 0 댓글 4
Nox 앱 플레이어에서 이미지는 찾습니다.
그런데, PostMessage(마우스 왼쪽) 클릭이 안되네요.(메모장에서 실험하니 작동은 합니다.)
액티브윈도우 툴로 찾아서 subWin1 문구 넣어도 안되고 지워도 안되네요.
이미지 찾으면 좌상 클릭이라 좌상 아이콘 클릭되도록 만들었는데도 그렇네요.
MsgBox 찾은 좌표 표시화면 잘 표시됩니다. 감사합니다.

coordmode, pixel, Screen
CoordMode, ToolTip, Screen
SetWorkingDir %A_ScriptDir%
ActiveID:="Nox"
WinActivate, %ActiveID%

img := "pic\test101.bmp"
f1::

Loop
{
ImageSearch, oX, oY, 0, 0, A_ScreenWidth, A_ScreenHeight, *80 %A_ScriptDir%\%img%
If ( ErrorLevel = 0)
{
px:=oX
py:=oY
p := px|py<<16
 PostMessage, 0x201, 1, %p%, subWin1, %ActiveID%
  Sleep, 200
 PostMessage, 0x202, 0, %p%, subWin1, %ActiveID%
 Sleep, 200
 }
else If ( ErrorLevel = 1){
MsgBox, 없다
}
 
}
return

f2::
Reload
return

f3::
ExitApp
return
 

  • 리체 2015.10.17 08:57

    ImageSearch 로 구한 좌표는 스크린좌표니 클라이언트 좌표로 바꿔줘야죠.

  • 마천루 2015.10.17 14:25

    http://tailstar.kr/autohotkey/1803504   생물님 내용 참고하여 PostMessage로 마우스 클릭 했는데

    이미지서치로 찾는데 아래 그림과 같이 빨간 점이 이상한데 찍히네요. 구글플레이 아이콘에 찍혀야 하는데요 ㅜㅜ

    감사합니다.


    QaCc0O1.jpg


    CoordMode, Pixel, Screen ;<- 좌표기준설정

    global ActiveID:="test01.png - 그림판"

    SetWorkingDir %A_ScriptDir%

    WinActivate, %ActiveID% ;<-블루스택활성화

    WinSet, AlwaysOnTop, on,  %ActiveID% ;<-블루스택 창이 항상 위로

    WinGetPos, X, Y, W, H,  %ActiveID% ;<- 블루스택의 위치 x좌표를 X에, y좌표를 Y에, 넓이를 W에, 높이를 H에 저장

    SysGet, E, 32 ; <-보더두께값을 변수 E 에 저장

    SysGet, Q, 4 ; <-제목표시줄두께값을 변수 Q에 저장

    X2:=X+W ; <- 블루스택 위치의 x좌표와 넓이를 더한값을 X2에 저장

    Y2:=Y+H ; <- 블루스택의 위치의 y좌표와 높이를 더한값을 Y2에 저장


    img := "pic\test01.png"


    F1::


    ImageSearch, X1, Y1,%X%, %Y%, %X2%, %Y2%, *50 %A_ScriptDir%\%img% ;<-여기서 저장되는 X1, Y1은 Relative좌표값

    If(Errorlevel=0)

    {

    X1:=X1-E ;<-그래서 구해진 Relative좌표값에 보더값을 빼서 Client좌표값으로 변경

    Y1:=Y1-Q ;<- 위와 동일

    N:=X1|Y1<<16 ;<-좌표를 16진수로 변환

    PostMessage, 0X201, 1, %N%,Afx:00000000FFA40000:81 , %ActiveID%

    PostMessage, 0X202, 0, %N%,Afx:00000000FFA40000:81 , %ActiveID%

    }

    return




  • 리체 2015.10.18 10:53
    생물님이 쓴 글에는 오류가 있습니다.

    CoordMode, Pixel, Screen ;<- 좌표기준설정
    ImageSearch, X1, Y1,%X%, %Y%, %X2%, %Y2%, *50 %A_ScriptDir%\%img% ;<-여기서 저장되는 X1, Y1은 Relative좌표값

    좌표기준설정 픽셀을 스크린으로 하였기 때문에 이미지서치가 반환하는 좌표는 Relative가 아닌 스크린좌표입니다.
    클라이언트 좌표로 변환하기 위에선 스크린에서 윈도우의 좌표를 빼주어야 합니다.
    그리고 하나 더 y좌표에 캡션값만 빼주었고 보더값을 빼주지 않았습니다. 결론적으로
    X1:=X1-X-E
    Y1:=Y1-Y-Q-E
    이렇게 바꿔줘야 제대로 된 클라이언트 좌표가 됩니다.
  • T7GG 2015.10.18 11:00

    http://tailstar.kr/autohotkey/12158681 


    응용해서 쓰세요


    녹스 설정된 소스입니다 


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 칼리브 설정하려고 하면 먹통 창공의창해 2015.10.26 0/0
질문 [해결] 실행시 Gui글자를 읽어들이지 못합니다. 5 마토깽 2015.10.26 0/0
질문 함수 불러와서 쓸 때 함수 내의 특정부분만 예외처리 ... 14 아이나인 2015.10.26 0/0
질문 오토핫키 공부해볼까 하는데 얼마나 걸릴까요? 6 Poohya 2015.10.27 0/0
질문 오토핫키 초보입니다 2 이리오리오 2015.11.15 0/0
자유 오토핫키나 그외 매크로 정보공유 톡방 1 최원태 2015.10.26 0/0
질문 controlclick 이용한 비활성 드래그 질문드려요 6 poerty 2015.10.30 0/0
질문 Dropdownlist 연동관련 질문드리겠습니다 22 최원태 2015.10.25 0/0
정보 팝업 알림, CleanNotify 3 예지력1 2015.11.11 4/0
질문 오토핫키 FTP 이용 다운로드 시 질문입니다. 5 2Yrs 2015.11.12 0/0
질문 오토핫키 이미지 서치 질문하려구 합니다~ 2 서영욱 2015.10.22 0/0
자유 비활성 이미지서치 팁좀 주실 분 있나요... 4 sica 2016.01.22 0/0
질문 document 엔터입력 1 _Crash 2016.04.16 0/0
질문 SciTE4AutoHotkey 질문드립니다. 2 doprop 2015.10.18 0/0
질문 Gui ActiveX 에 Send,{Enter} 가 안들어가네요 ㅠㅠ. 3 _Crash 2015.10.20 0/0
자유 오토핫키 질문좀 할ㄹ려고하는데 어디해야할지 몰라서 ... 수지가좋아 2015.10.17 0/0
질문 Nox 에서 PostMessage 가 안되요. 4 마천루 2015.10.18 0/0
질문 비활성 붙여넣기 명령어 좀 알려주세요 ㅠㅠ 1 KAZUYA 2015.10.17 0/0
질문 Gui ActiveX. 에서 Tab입력시 입력이들어가질않네요. ... 5 _Crash 2015.10.17 0/0
질문 Nox 비활성입력 해보신분? 2 _Crash 2015.10.15 0/0
Board Pagination Prev 1 ... 140141142143144145146147148 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글