매크로

정보
2015.01.16 22:06

지니모션 드래그 함수

조회 수 491 추천 1 댓글 1

저도 드래그 때문에 약간 고생했었는데요.?


드래그는 사람이 움직이듯 for문으로 좌표를 증가시키면서 해줘야하는게 포인트 였습니다.


근데 오핫에는 for문이 없나요?? 오핫도 정보가 은근히 없더라구요 ㅠ_ㅠ


SysGet, TitleBorderWeight, 32 ; 보더두께값을 변수에저장

SysGet, TitleWeight, 4 ? ?; 제목표시줄두께값을 변수에 저장


WinGetPos, gX, gY, gWidth, gHeight, %title% ; 해당윈도우의 좌표와 크기를 얻는다.


pmovedrag(1, 612, 372, 612, 183, "위쪽", "왼쪽버튼", 1, 1000, FindTitle)


;---------------------------------------------------------------------

;[pmovedrag] postmessage 드래그

; cp=클라이언트 좌표인지 여부

; x,y=시작좌표

; x1,y1=끝좌표

; direction=드래그방향(왼쪽,오른쪽,위쪽,아래쪽)

; nbutton=왼쪽버튼or오른쪽버튼

; pushdelay=누름딜레이

; leavedelay=드래그 끝난후 딜레이

; titlename=창이름

;---------------------------------------------------------------------

pmovedrag(cp, x, y, x1, y1, direction, nbutton, pushdelay, leavedelay, titlename)

{

Global TitleBorderWeight, TitleWeight, gX, gY

; 윈도우 좌표일 경우

if cp = 0

{

x := x - TitleBorderWeight - gX

y := y - TitleWeight - gY

x1 := x1 - TitleBorderWeight - gX

y1 := y1 - TitleWeight - gY

}

; 클라이언트 좌표일 경우

else

{

x := x - TitleBorderWeight

y := y - TitleWeight

x1 := x1 - TitleBorderWeight

y1 := y1 - TitleWeight

}

N:=x|y<<16 ? ?;<-좌표를 16진수로 변환

N1:=x1|y1<<16

;PostMessage로 드래그 하기 위해선 이걸 해줘야한다. (c++버전 코드)

;LPARAM lparam;

;lparam = (HTRIGHT | (WM_NCMOUSEMOVE << 16))?


param := 11 | (0xA0 << 16)

PostMessage, %param%,, %N%,,%titlename%

if (nbutton = "왼쪽버튼") ; 왼쪽버튼

{

down = 0x201

up = 0x202

}

else ; 오른쪽 버튼

{

down = 0x204

up = 0x205

}

dragspeed = 15 ; 이걸로 드래그 속도를 정한다.?

PostMessage, %down%, , %N%, , %titlename% ; 왼쪽or오른쪽 버튼 누른 상태

if (direction = "오른쪽")

{

ncount := (x1 - x) // dragspeed

loop, %ncount%

{

nx := x + (A_Index * dragspeed)

N2:=nx|y<<16

PostMessage, 0X200, 1, %N2%, , %titlename% ; 마우스 이동

sleep, 1

}

}

else if (direction = "왼쪽")

{

ncount := (x - x1) // dragspeed

loop, %ncount%

{

nx := x - (A_Index * dragspeed)

N2:=nx|y<<16

PostMessage, 0X200, 1, %N2%, , %titlename% ; 마우스 이동

sleep, 1

}

}

else if (direction = "아래쪽")

{

ncount := (y1 - y) // dragspeed

loop, %ncount%

{

ny := y + (A_Index * dragspeed)

N2:=x|ny<<16

PostMessage, 0X200, 1, %N2%, , %titlename% ; 마우스 이동

sleep, 1

}

}

else if (direction = "위쪽")

{

ncount := (y - y1) // dragspeed

loop, %ncount%

{

ny := y - (A_Index * dragspeed)

N2:=x|ny<<16

PostMessage, 0X200, 1, %N2%, , %titlename% ; 마우스 이동

sleep, 1

}

}

PostMessage, %up%, , %N1%, , %titlename% ; 왼쪽or오른쪽 버튼 뗌

PostMessage, %param%,, %N1%, ,%titlename%

sleep, leavedelay

}




List of Articles
분류 제목 글쓴이 최근변경 추천
자유 역시 더미다로 패킹을 하면 1분도 안돼서 풀수있네요 ^ 6 캔디염 2015.01.19 0/0
질문 이미지 서치 문의입니다. 1 보득 2015.01.19 0/0
자유 노트북 해상도 안맞아서 불편하네요 ㅜ 3 그을린요강 2015.01.19 0/0
질문 별이되어라 오토핫키 스크립트 구할수 없나여? 2 김곰돌 2015.02.04 0/0
질문 핸콕님 매크로 2캐릭 매크로로 하려면 어떻게해야하나... 8 닉넴없다 2015.03.08 0/0
질문 노트북에서 이미지서치가 안됩니다... 3 yodda 2015.01.19 0/0
자유 쓸대없이 자꾸 줄수만 늘어나는 기분...qㅜㄴ 12 파더 2015.01.20 1/0
질문 loop질문 제발좀 . 2 제발등업좀2 2015.01.19 0/0
질문 postmessage 관련 따끔한 지적 부탁드립니다. 18 도비123 2015.01.19 0/0
정보 지니모션 드래그 함수 1 연구원 2015.01.21 1/0
질문 오토핫키좀 배워보려합니다 6 PMS 2015.01.23 0/0
질문 아래 글에 이어 이미지서치 질문드려요~ ㅠㅠ 13 시니짱 2015.01.17 0/0
질문 이미지서치 관련 질문드립니다 ㅠㅠ 제발등업좀2 2015.01.16 0/0
정보 지니모션 테마 및 윈도우 버전 상관없이 해상도 변경하... 로뎀나무 2015.01.16 2/0
자유 이미지서치의 인식률 값 관련 질문 2 Hangoon 2015.01.16 0/0
질문 이미지서치와 해상도 변경에 대해서.. 3 시나브로 2015.01.15 0/0
질문 스크립트 편집 뭐로 하세요? 17 시나브로 2015.01.18 0/0
질문 컴파일된 프로그램의 트레이 아이콘 2 Hangoon 2015.01.15 0/0
질문 키를 눌러서 영지선택후 나중에 자동입장??(고수님 답... 9 여우블록 2015.01.22 0/0
질문 이미지 서치가 안되네요! 13 시니짱 2015.09.23 0/0
Board Pagination Prev 1 ... 188189190191192193194195196 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글