안녕하세요~ 킴영감입니다~


오늘은 제가 직접 제작한 EKMLib를 사용하는 방법에 대해 설명드리려고 합니다.


시작하기에 앞서, 기초강좌의 내용을 완벽하게 이해하지 못하신 분들은 반드시 기초강좌를 완벽하게 이해하시고 이 강좌를 보시기 바랍니다.


함수 강의 보러가기 -  https://youtu.be/wCM0iPlDMNI



EKMLib에는 아래의 기능들이 구현되어 있습니다.

윈도우의 핸들을 얻어오는 함수. 핸들은 비활성 함수들에 사용됩니다.

비활성 마우스 우클릭 함수. 

비활성 마우스 드래그 함수

비활성 이미지서치 및 클릭 함수. (최소화 상태에서는 동작하지 않습니다.)

윈도우를 숨김/원위치 시키는 함수.

실행중인 윈도우를 검색하는 함수. 

실행중인 윈도우의 이름을 받아오는 함수

윈도우의 자식윈도우를 받아오는 함수

등등.


오늘은 파란색으로 표시된 기능을 사용하는 함수에 대해서 설명드리겠습니다.


기초강좌 4강에서 ImageSearch와 Send를 사용해서 이미지를 찾고 클릭하는 스크립트를 만들어 봤습니다.


기초강좌 4강의 실습내용을 EKMLib를 사용한 비활성 클릭을 사용하도록 수정해보겠습니다.^^


PostMessage 에서는 특정 윈도우에 비활성클릭을 하기위해서는 윈도우 타이틀이 필요했었습니다. 


깊이 들어가보면 윈도우 타이틀이 바로 사용되는 것이 아니고 윈도우의 핸들(ID라고 생각하시면 됩니다.)을 받아오고 이 윈도우핸들을 PostMessage가 사용하게 되는 것입니다.


윈도우 핸들은 프로그램이 생성될 때 정해져서 종료될 때까지 같은 값을 가지기 때문에 EKMLib에서는 시간을 단축시키기 위해 핸들은 구하는 함수와 비활성 함수들을 따로 구현해 놓았습니다.


스크립트를 보면서 설명드리겠습니다.


기초강좌 4강의 스크립트 내용을 아래와 같이 수정하세요.



위쪽 빨간 박스로 표시된 부분이 윈도우 핸들을 받아요는 부분입니다.


윈도우 핸들을 받아오는 함수EKMLib_findHWND이며 사용 방법은 다음과 같습니다.


title := "윈도우 이름"

e := EKMLib_findHWND(title, _hWnd)


title 이라는 변수윈도우 이름을 저장하고 EKMLib_findHWND(title, _hWnd)의 형태로 실행시키면 _hWnd 변수에 윈도우 핸들이 저장되게 되는 것입니다.


변수 e 에는 함수실행결과가 저장되며 메세지박스 등으로 잘 동작하는지 확인하는 용도로 사용하시면 됩니다.


아래쪽 빨간박스로 표시된 부분은 ImageSearch로 이미지를 찾았을 때 Send를 사용해서 클릭하는 부분을 EKMLib를 사용해서 비활성으로 바꾼 것입니다.


비활성 클릭을 하는 함수EKMLib_click이며 사용방법은 다음과 같습니다.


EKMLib(x좌표, y좌표, _hWnd)


클릭할 x, y좌표와 함께 위에서 구한 윈도우 핸들이 저장되어있는 _hWnd 변수를 적어주시면 비활성 클릭을 수행합니다.





위 스크립트에서는 모니터 전체 영역에서 이미지를 찾았기 때문에 프로그램 내부에 적용되는 좌표를 계산해주는 부분이 추가되었으며, 계산된 내부좌표를 사용해서 EKMLib(내부좌표x, 내부좌표y, _hWnd) 와 같이 비활성 클릭을 구현한 것입니다.


만약 이미지서치를 통해 프로그램 윈도우 내부의 특정 좌표를 받아온다면 EKMLib(x좌표, y좌표, _hWnd) 만 사용하시면 됩니다.


EKMLib에 비활성 이미지서치 & 클릭 함수가 있기 때문에 특정 좌표값을 비활성으로 클릭하실때만 사용하게 될 것입니다.^^


다음은 비활성 드래그 입니다.


제가 붙혀넣기 강좌 10강에서 비활성 드래그 함수를 어떻게 구현하는지 알려드렸습니다. 


그냥 그대로 사용하셔도 되고 EKMLib에 구현된 드래그 함수를 사용하셔도 됩니다. 

(그냥 한줄로 사용하실 수 있게 옮겨놓은 것입니다.^^)


비활성 드래그 함수EKMLib_inactiveMouseDrag이며 사용방법은 다음과 같습니다.


EKMLib_inactiveMouseDrag(s_x, s_y, e_x, e_y, num, _hWnd)


사용되는 변수의 의미는 다음과 같습니다.


s_x - 드래그 시작 지점의 x 좌표

s_y - 드래그 시작 지점의 y 좌표

e_x - 드래그 끝 지점의 x좌표

e_y - 드래그 끝 지점의 y좌표

num - 드래그 횟수

_hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들


각각의 변수에 맞는 값을 넣으시고 사용하시면 됩니다.


비활성 드래그의 경우 붙혀넣기 강좌 10강의 내용을 보시고 이해하시면 됩니다.



여기까지는 기존 강좌에 있는 내용들은 조금 더 간편하게 사용할 수 있는 정도인 것 같습니다.ㅋ


하지만 다음에 나오는 기능들은 강좌에는 없는 내용이니 기대하셔도 좋습니다.


그럼 EKMLib 비활성 매크로 라이브러리 첫번째 강좌를 마치겠습니다~^^

블로그 이미지

킴영감

프로그래밍과 게임공략, 게임과 관련된 프로그램에 대한 내용을 다룹니다.

,