매크로

조회 수 537 추천 0 댓글 14
아래는 제가 짜고 있는 비활성 매크로입니다.
질문1. 형광색줄친 부분을 gui인터페이스소스 아래에 넣으니?
매크로시작(START:)이 안됩니다. START: 아래에 넣으니 매크로가 잘 실행되구요. 왜 그런지? ㅠ

질문2. 블루스택을 실행하면 창위치가 윈도우화면 좌측상단입니다. 이 상태에선 매크로가 잘 실행되는데요.
창을 다른 곳으로 이동후 매크로시작(START:)버튼을 누르니 이미지를 못찾습니다. 해결방법 없나요?

Gui, Add, Button, x12 y12 w170 h40 gStart, 무역시작
Gui, Add, Button, x12 y62 w170 h40 gPause, 무역중지
Gui, Add, Button, x12 y312 w170 h40 gClose, 프로그램종료
Gui, Add, GroupBox, x12 y122 w170 h180 +Center, 윈도우 예약 종료
Gui, Add, Button, x32 y142 w130 h30 g3Hour, 3시간
Gui, Add, Button, x32 y182 w130 h30 g5Hour, 5시간
Gui, Add, Button, x32 y222 w130 h30 g7Hour, 7시간
Gui, Add, Button, x32 y262 w130 h30 gHcancle, 예약종료취소
; Generated using SmartGUI Creator 4.0
Gui, Show, x810 y363 h365 w195, 보석무역
Return

;====================GUI인터페이스 소스

Start: ;무역시작
IfWinExist, BlueStacks App Player
#SingleInstance force ; 스크립트를 동시에 한개만 실행
#Persistent ; 핫키가 없더라도 스크립트 실행을 유지

WinSet, AlwaysOnTop, on, BlueStacks App Player
WinGetPos, X, Y, W, H, BlueStacks App Player
X2:=X+W
Y2:=Y+H

coordmode,pixel,screen

SysGet, capH, 4 ; 캡션Height
SysGet, bordW, 32 ; 보더Width
SysGet, bordH, 33 ; 보더Height

ImageSearch, m1, m2, %X%, %Y%, %X2%, %Y2%, *50 C:\auto\jew.bmp
if (errorlevel=0)
{
? m1:=m1-bordW
? m2:=m2-BordH-capH
? N:=m1|m2<<16
? PostMessage, 0X201, 1, %N%, , BlueStacks App Player
? PostMessage, 0X202, 0, %N%, , BlueStacks App Player
? sleep 2000
? gosub, 무역
}

ImageSearch, m1, m2, %X%, %Y%, %X2%, %Y2%, *50 C:\auto\jew2.bmp
if (errorlevel=0)
{
? m1:=m1-bordW
? m2:=m2-BordH-capH
? N:=m1|m2<<16
? PostMessage, 0X201, 1, %N%, , BlueStacks App Player
? PostMessage, 0X202, 0, %N%, , BlueStacks App Player
? sleep 2000
? gosub, 무역
}
return



무역:
ImageSearch, m1, m2, %X%, %Y%, %X2%, %Y2%, *50 C:\auto\test2.bmp
if (errorlevel=0)
{
? m1:=m1-bordW
? m2:=m2-BordH-capH
? N:=m1|m2<<16
? Loop
? {
? PostMessage, 0X201, 1, %N%, , BlueStacks App Player
? PostMessage, 0X202, 0, %N%, , BlueStacks App Player
? sleep 250
? }
}
return

Pause: ;무역중지
{
reload
}
return

Close: ;프로그램 종료
{
run,%comspec% /c shutdown -a
sleep 100
ExitApp
}
return

;====================무역기능 소스

3Hour: ; 3시간뒤 윈도우 종료
{
run,%comspec% /c shutdown -f -s -t 10800
}
return

5Hour: ; 5시간뒤 윈도우 종료
{
run,%comspec% /c shutdown -f -s -t 18000
}
return

7Hour: ; 7시간뒤 윈도우 종료
{
run,%comspec% /c shutdown -f -s -t 25200
}
return

Hcancle: ; 시간예약 취소
{
run,%comspec% /c shutdown -a
}
return

;====================예약종료시간 설정 소스
GuiClose:
{
run,%comspec% /c shutdown -a
sleep 100
ExitApp
}
return

  • 흐미야 2015.05.20 22:23

    일단?

    X2:=X+W
    Y2:=Y+H
    여기 아래부분에
    msgbox 명령어로 x2와 y2의 값을 확인해 보세요
    창위치에 따라 작동을 안한다면 이부분이 문제일거라고 생각합니다


    아무것도 생각하기 귀찮으시면 무식한 해결책이 있는데

    imageseach부분에?

    %X%, %Y%, %X2%, %Y2%

    부분을

    0,0,A_ScreenWidth, A_ScreenHeight

    로 대체해 보세요.

    시스템 부하는 좀 올라가겠지만 뭐 오토핫키가 부하 올려봐야... 생각하기가 귀찮으니까요...


  • 제발등업좀2 2015.05.20 22:46
    안녕하세요 열심히 만드시네요 일단 첫번쩨

    딩연히지여 ㅎㅎ 이미지서치 하실때 블택 창크기 구해오는
    윈겟포스 먕령어 가있어애 이미지 서치가 됩니다.. 그런데 그런데 스타트위에 있으면... 스타트 부분부터 실행하니.. 창의 x.y.w.h.를 구해올수없기때문에.. 안되지요
  • 제발등업좀2 2015.05.20 22:52
    두번째.. 는 음 확실히 블택키시고? 매크로 누른신건가여?
  • 마토깽 2015.05.21 15:02
    두번째는 블택실행시 기존위치에서 매크로시작하면 잘 작동하는데요.
    다른 위치로 옮기고 스타트하면 작동이 안되요. 이미지를 못찾아요.
  • profile
    외치기 2015.05.21 09:11

    창 이동후 매크로가 정상적으로 작동하지 않는다는 부분

    매크로 스타트 누른후 창 이동을 하신거면

    창 위치를 실시간으로 구해오지 않았고

    초기 1회 좌표만 가지고 하고있기때문에 발생하는 현상입니다.

  • 마토깽 2015.05.21 15:01
    창 이동 후 매크로가 작동하지 않아요.
    기존 블택실행시 그 자리에서는 작동하구요.
  • profile
    외치기 2015.05.21 15:11
    처음에 0,0기준으로 좌표가 저장되있고
    창을 옮기이후 좌표갱신을 안해서 생기는 문제입니다.
    클릭 직전에 창 위치를 가져오셔서
    매번 창위치를 갱신해서 메시지를 보내셔야합니다.
  • 제발등업좀2 2015.05.21 15:49
    외치기 님이 답변달아주셧네요;; 아마 그런이유일껍니다 저도 처음 배울때 저런식으로 코딩하였다가;; 창을 옮기면.. 안되서요;; 그래서 걍 이미지서치 경우 함수로 만들어서 쓰고있습니다.. 매번 창의 위치를 갱신하고 새로 저장하고 찾는 방식으로요;
  • 마토깽 2015.05.21 18:07
    소스 알려달라고 하면 실례일것 같아서 그런데 제가 직접 찾아 배우려면
    검색엔진 사이트에서 뭐라고 검색하면 될까요?
    제가 너무 초보라 위에 소스도 거의 퍼온거거든요. 하루에 30분씩 공부하고 있는데, 막상 코드 짜려니 어렵네요.
  • 제발등업좀2 2015.05.21 23:05
    음.. 테일스타 베스트만가셔도.. 좋은 글 아주 알찬글들이 많습니다. 이지미서치 부터해서 왠만하면 함수로 만즐ㅇ어서 쓰시는게좋습니다.. 수정하기도 편하구요...
  • 제발등업좀2 2015.05.21 23:09
    imgXY(ByRef imgX, ByRef imgY,img,M_X,M_Y,M_X1,M_Y1)
    {
    global ActiveID
    WinGetPos, winX, winY, winW, winH, %ActiveID%
    ImageSearch, oX, oY, winX+M_X, winY+M_Y, winX+M_X1, winY+M_Y1, *50 A_ScriptDir%\%img%
    If ( ErrorLevel = 0)
    {
    imgX := oX
    imgY := oY
    return 1
    }
    else If ( ErrorLevel = 1)
    {
    return 0
    }
    }

    이런식으로 함수로 만들어쓰시면편하세요
  • 제발등업좀2 2015.05.21 23:14
    이렇개만 한번 써놓고 그걸 불러오기만하면 됩니다
    if (imgXY(X,Y,"테스트",0,0,1800,120)=1)
    {
    msgbox,찾앗다
    }
    return
    이런식으로요 그럼 저안에
    창크기를 불러는거부터해서 다들어있져... 이미지서치할때마다 창크기 위치를 확인하니.. 오류 가덜하겠죠
  • 제발등업좀2 2015.05.21 23:22
    개인적으로 질문이 답입니다.. 전 컴터쪽도.. 어려운용어도 하나도모릅니다 ㅋㅋ 파싱이 뭔지.. 스택틱변수 글로벌변수가 정확히 어떤 말인지. 그딴거 잘모릅니다.평생을 기계만 만지던사람이라서 ㅋㅋ... 질문하시는걸 두려워하시지마시길바랍니다 ㅋ
  • 제발등업좀2 2015.05.21 23:15
    if를 쓰기 싫으시면 리턴 되는값을 에러레벨값으로 리턴시키면 평소 쓰던되로 이미지서치힐수도있구요 ..

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 픽셀서치에관한건데요 2 단백질 2015.05.29 0/0
질문 winhttp.send() 이 문구가 너무 오래걸립니다. 3 _Crash 2015.05.28 1/0
질문 이미지서칭 시간함수 질문 12 마토깽 2015.06.07 0/0
질문 COM.ahk 활용.. 4 JgH 2015.05.24 0/0
질문 바탕화면에 1.jpg 라는파일을 clipboard 에 저장하는법 1 _Crash 2015.05.23 0/0
질문 winhttp 에서요 1 _Crash 2018.12.05 0/0
질문 한번더 문의드립니다 ㅠㅠ 7 야쿠르트 2015.05.23 0/0
질문 이미지 서치 우선순위 설정 문의드립니다. 8 야쿠르트 2015.05.23 0/0
질문 특정키를 누르면 다른 키매크로가 정지되게 하는 법 알... 5 빈스3678 2015.05.25 0/0
질문 스크립트 좀 여쭤볼게요. 5 빈스3678 2015.05.22 0/0
질문 스크립트내 다른스크립트 실행하기 3 노래 2015.05.22 0/0
질문 com함수 질문좀 할께요..시트 선택하기. 9 제발등업좀2 2015.05.22 0/0
질문 파일의 속성값 정보보는법이 있나요? 2 우후훅 2015.05.21 0/0
질문 pushbullet 이미지파일 업로드 같이 가능한가요? 6 볼그 2015.09.11 0/0
질문 혹시... 드래곤플라이트나 포코팡같은 게임도 오핫키로... 5 flem 2015.05.21 0/0
질문 메이플 오토핫키 질문 7 qhtn12896 2015.07.08 0/0
질문 비활성 매크로 중 창이동후 매크로 안먹힘. 14 마토깽 2015.05.21 0/0
질문 오토핫키로 cmd 명령을 실행시킬 수 있나요? 2 마토깽 2015.05.20 0/0
질문 디바이스 목록 질문 7 JgH 2015.05.20 0/0
질문 세나 매크로 질문드립니다. 5 스파크 2015.05.20 0/0
Board Pagination Prev 1 ... 139140141142143144145146147 ... 173 Next
/ 173

전체 최신 인기글

전체 주간 인기글