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


EKMLib 2019년 02월 25일 신규 인증서버 버전 배포합니다.


이전 버전을 사용하고 계시는 분들은 꼭 업데이트 하시기 바랍니다~


이전 버전은 3월 22일에 서비스가 종료되며 

3월 10일부터 기존 서버의 중복 접속이 제한됩니다.


3월 10일 기존 서버 점검과 함께 신규서버 증설작업이 있을 예정입니다.

점검 시간 : 오후 3시 부터 30분간   7시 15분 완료

(점검 시간은 작업 상황에 따라 더 차이가 있을 수 있습니다.)


3월 17일 중복인증 문제 해결을 위한 임시점검을 진행했습니다.


★업데이트 방법★


2.2.0버전부터 다운받으신 폴더에 있는 adb.exe파일과 AdbWinApi.dll 파일을 추가로 같은 폴더에 넣으셔야 adb기능을 사용하실 수 있습니다.


본인이 사용하는 윈도우 버전 및 설치된 오토핫키의 비트를 확인한 뒤 본인의 시스템에 맞는 압축파일을 다운받으신 뒤 EKMLib.ahk, EKMLib.dll파일을 기존의 파일과 바꿔주시면 됩니다.


2.1.3버전부터 파일이름이 EKMLib 하나로 통일되었으니 착오없으시기 바랍니다. 

(기존에 64비트버전 사용하시던 분들은 #include EKMLib_x64.ahk를 #include EKMLib.ahk로 변경하셔야 합니다.)


기본 사용방법 강의https://youtu.be/qskrz1euJsY



그동안 FunLecture 홈페이지를 통해 사용하시던 분들은 인증방식이 바뀌었으니 확인하시기 바랍니다.


이전 글에서 설명드렸듯이 EKMLib는 비활성 매크로를 만들기 위해 필요한 기능들을 구현해놓은 라이브러리 입니다.



EKMLib에 미리 만들어져 있는 함수들을 사용방법에 맞게 사용하시면 됩니다.
(아직 함수를 모르시는분은 함수 강의를 보고 오시기 바랍니다.)


함수 강의 링크 - https://youtu.be/wCM0iPlDMNI


다운받으시기전에 본인 컴퓨터에 설치된 오토핫키가 몇비트인지 확인하시고 


확인 방법 링크- http://elderlykims.tistory.com/56


설치된 비트에 맞는 파일을 다운받으신 뒤 32비트의 경우 EKMLib.ahk, EKMLib.dll 파일을 64비트의 경우 EKMLib_x64.ahk, EKMLib_x64.dll 파일을 스크립트가 있는 폴더에 넣으시면 바로 사용하실 수 있습니다.


새로운 스크립트를 만드실 때 편하시도록 baseScript.ahk 파일을 만들어서 함께 넣어놓았으며 baseScript.ahk 작성되어 있는 내용이 반드시 적혀있어야 라이브러리를 사용할 수 있습니다.


추가적으로 실행중인 프로그램 리스트를 받아와서 ListView에 표시하는 예제 스크립트(ListView_example.ahk)와 


자식윈도우의 핸들을 검색하고 비활성클릭 입력이 가능한 창을 찾는 테스트 스크립트(ChildHWND_TestTool.ahk)도 함께 넣어놨습니다~


EKMLib의 자세한 사용방법은 블로그와 유튜브 채널을 통해 알려드리겠습니다.



1. EKMLib Ver.2.2.2 다운로드 (신규 서버 버전)


Windows 7 버전


32비트 버전 - EKMLib_Ver.2.2.3_Win7_32bit.zip


64비트 버전 - EKMLib_Ver.2.2.3_Win7_64bit.zip




Windows 10 버전


32비트 버전 - EKMLib_Ver.2.2.3_Win10_32bit.zip


64비트 버전 - EKMLib_Ver.2.2.3_Win10_64bit.zip



주의사항 : 배포는 http://elderlykims.tistory.com, elderlykim.com을 통해서만 이루어지며 무단 재배포 및 수정배포를 금지합니다. 저작물의 모든 권리는 킴영감에게 있습니다.


2. EKMLib사용시 유의사항


반드시 기초강좌의 내용을 완벽하게 이해하시기 바랍니다.


운영체제 버전별로 사용가능프로그램과 조건이 다르기 때문에 확인 후 사용하시기 바랍니다. 

사용가능 프로그램 링크 - http://elderlykims.tistory.com/58


또한, 사용하시기 전에 EKMLib 각 함수들의 사용방법도 완벽히 이해하셔야 사용가능합니다.

EKMLib 라이브러리를 사용하기 위해서는 설치된 오토핫키와 동일한 비트(bit)의 EKMLib를 사용하셔야 합니다.

32bit - EKMLib, 64bit - EKMLib_x64

비활성 이미지서치 함수를 사용하실 때 이미지를 24비트 bmp 파일로 만드셔야 합니다.

비활성 이미지 서치 기능을 사용하기 위해서는 바탕화면의 개인설정을 반드시 Aero 테마로 설정하셔야 합니다.


EKMLib 를 사용하신 뒤 프로그램이 종료되는 시점에 반드시 EKMLib_Shutdown() 함수를 호출하셔야 합니다.

EKMLib_Shutdown() 함수를 호출하지 않으면 기존 인증정보가 서버에 남아있어 이후 로그인하실 때 중복 로그인 처리가 됩니다.

그러니 반드시 프로그램이 종료되는 시점 이전에 EKMLib_Shutdown() 함수를 호출하시기 바랍니다.


3. 인증방법


EKMLib를 사용하기 위해 elderlykim.com에 회원가입을 하셔야 합니다.


EKMLib 인증을 위해 ID와 PASSWORD를 입력하셔야 하며 아래와 같습니다.


ID : 홈페이지 ID

PASSWORD : 홈페이지 PW


위 ID와 PASSWORD를 아래 그림에 표시된 baseScript의 ID와 PASSWORD를 입력하는 부분에 작성하시면 됩니다.




현재 가입하시는 모든 분들을 대상으로 무료 서비스를 진행하고 있습니다.


홈페이지 로그인 후 내정보에서 본인의 이용가능 기간을 확인하실 수 있습니다.


보다 자세한 사항은 elderlykim.com 에서 확인하시기 바랍니다.



2.2.2 버전업데이트 내용 (2018.05.25.)


EKMLib_sellectSearchMethod 함수의 이름이 EKMLib_selectSearchMethod 로 변경 되었습니다.



2.2.1 버전업데이트 내용 (2018.05.25.)


2.2.0 버전에서 Window7 버전의 이미지서치 방법이 변경되었으며 업데이트 후 비활성 이미지서치가 동작하지 않는다는 제보가 있어 구버전에 사용되는 방법을 선택할 수 있게 업데이트 되었습니다.

아래의 함수 설명에서 확인하시기 바라며 기본 설정은 신버전입니다.



2.2.0 버전업데이트 내용 (2018.05.23.)


1) 비활성 이미지서치함수 추가

2) adb 기능 추가

3) 이미지파일을 활용한 비활성 이미지서치 함수 추가 (adb와 함께 사용하시면 최소화 상태에서도 동작 시킬 수 있습니다.)

4) 오류 시 뜨는 메세지박스를 On/Off 할 수 있는 함수 추가



2.1.4 버전업데이트 내용 (2017.12.30.)


인터넷 연결이 끊겼을 때 바로 팅기는 현상 완화



2.1.3 버전업데이트 내용 (2017.12.19.)


윈도우 10버전 추가 (기존 버전이 윈도우 7 에서만 동작해 윈도우 10버전을 추가 배포합니다.)

전체화면일 때 최소화 상태로 인식하는 문제 수정



2.1.2 버전업데이트 내용 (2017.12.17.)


픽셀서치 오류 수정



2.1.1 버전에 추가된 기능


라이브러리를 로딩할 때 최신버전을 확인하는 기능을 추가했습니다.



4. 함수 설명


EKMLib에 구현되어있는 함수 및 기능은 아래와 같습니다.


파란색으로 표시된 부분이 함수 사용방법이며 사용되는 변수에 대한 설명을 적어 놓았습니다. 함수의 사용방법과 변수에 알맞은 값을 넣으시면 됩니다.



2.2.1 버전에 추가된 함수


  • EKMLib_selectSearchMethod(method) - 이미지서치 방법을 선택합니다.
    변수 설명
       error - 0 : 셋팅 성공, -1 : 셋팅 실패
       method - 0 : 신버전, 1 : 구버전 (기본값은 0 입니다.)


2.2.0 버전에 추가된 함수


  • EKMLib_inactiveImageSearchA(loc, image, outx, outy, x1, y1, x2, y2, _hWnd, acc) - 비활성 이미지서치 함수. 찾은 이미지의 왼쪽 상단 좌표를 반환. 영역 지정 가능.
    변수 설명
       error - 0: 이미지를 찾음, -1: 이미지를 못찾음
       loc - 이미지가 있는 폴더 명. 라이브러리 파일이 있는 경로의 아래경로
       image - 이미지 파일명 (확장자 제외)
       outx - 찾은 이미지의 왼쪽 상단 x좌표
       outy - 찾은 이미지의 왼쪽 상단 y좌표
       x1 - 찾을 영역의 왼쪽 상단 x 좌표
       y1 - 찾을 영역의 왼쪽 상단 y 좌표
       x2 - 찾을 영역의 오른쪽 하단 x 좌표
       y2 - 찾을 의 오른쪽 하단 y 좌표
       _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들
       acc - 이미지 인식 정확도. 1 ~ 0.5 사이의 값을 입력. 권장 값: 0.95


  • EKMLib_imageSearchFromFile(loc, image, image_large, outx, outy, x1, y1, x2, y2, acc) - 이미지파일에서 이미지서치를 수행하는 함수. adb 캡쳐함수와 함께 활용.
    변수 설명
       error - 0: 이미지를 찾음, -1: 이미지를 못찾음
       loc - 이미지가 있는 폴더 명. 라이브러리 파일이 있는 경로의 아래경로
       image - 이미지 파일명 (확장자 제외)
       image_large - 이미지서치를 수행할 대상 이미지 (확장자 제외, bmp 파일만 가능)
       outx - 찾은 이미지의 왼쪽 상단 x좌표
       outy - 찾은 이미지의 왼쪽 상단 y좌표
       x1 - 찾을 영역의 왼쪽 상단 x 좌표
       y1 - 찾을 영역의 왼쪽 상단 y 좌표
       x2 - 찾을 영역의 오른쪽 하단 x 좌표
       y2 - 찾을 의 오른쪽 하단 y 좌표
       acc - 이미지 인식 정확도. 1 ~ 0.5 사이의 값을 입력. 권장 값: 0.95


  • EKMLib_adbCapture(adbName, fileName) - adb 명령을 사용해 특정 앱플레이어의 현재 화면을 캡쳐하는 함수.
    변수 설명
         adbName - 앱플레이어 이름(주소).
         fileName - 캡쳐한 이미지를 저장할 파일 이름. (확장자 제외)


앱플레이어의 주소는 자작프로그램에서 배포중인 adb Manager를 통해 확인가능합니다.

링크 - http://elderlykims.tistory.com/75



  • EKMLib_adbClick(adbName, x, y) - adb 명령을 사용해 특정 앱플레이어의 특정 좌표를 클릭하는 함수.
    변수 설명
         adbName - 앱플레이어 이름(주소).
         x - 클릭할 좌표의 x좌표
         y 클릭할 좌표의 x좌표


  • EKMLib_setMessageFlag(msg_flag) - 오류 발생 시 띄우는 메세지박스를 허용(또는 비허용) 하는 함수.
    변수 설명
         msg_flag - true : 허용, false : 비허용


2.1.0 버전에 추가된 함수


  • EKMLib_clickDown(x, y, _hWnd) - 비활성 마우스 왼쪽 클릭 다운 함수. 
    변수 설명
         x - 클릭할 지점의 x 좌표
         y - 클릭할 지점의 y 좌표
         _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들


  • EKMLib_clickUp(x, y, _hWnd) - 비활성 마우스 왼쪽 클릭 업 함수. 
    변수 설명
         x - 클릭할 지점의 x 좌표
         y - 클릭할 지점의 y 좌표
         _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들


  • EKMLib_keyInput(wParam, lParam, _hWnd) - 비활성 키보드 입력 함수.
    변수 설명
         wParam - 입력할 키의 wParam
         lParam - 입력할 키의 lParam
         _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들


입력할 키의 wParamlParam은 자작프로그램에 있는 Parameter Spy로 확인 가능합니다.

링크 - http://elderlykims.tistory.com/60



  • EKMLib_keyDown(wParam, lParam, _hWnd) - 비활성 키보드 다운 함수.
    변수 설명
         wParam - 입력할 키의 wParam
         lParam - 입력할 키의 lParam
         _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들


  • EKMLib_keyUp(wParam, lParam, _hWnd) - 비활성 키보드 업 함수.
    변수 설명
         wParam - 입력할 키의 wParam
         lParam - 입력할 키의 lParam
         _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들


  • EKMLib_sendText(myStr, _hWnd) - 비활성 문자열 입력 함수 (텍스트 입력)
    변수 설명
         myStr - 입력할 문자열 (예. "안녕하세요~")
         _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들

    채팅, 검색 등을 위해 문자열을 입력할 때 사용할 수 있으며, 반드시 텍스트 입력창에 커서가 깜빡이는 상태에서 사용하셔야 합니다.


  • error := EKMLib_inactivePixelSearch(OutX, OutY, x1, y1, x2, y2, RGB_value, _hWnd, acc) - 비활성 픽셀서치 함수. (최소화 상태에서는 동작하지 않습니다.)
    변수 설명
        error - 0: 픽셀을 찾음, -1: 픽셀을 못찾음
        OutX - 찾은 픽셀의 x좌표를 저장하는 변수
        OutY - 찾은 픽셀의 y좌표를 저장하는 변수
        x1 - 픽셀을 찾을 영역의 왼쪽 상단 x좌표
        y1 - 픽셀을 찾을 영역의 왼쪽 상단 y좌표
        x2 - 픽셀을 찾을 영역의 오른쪽 하단 x좌표
        y2 - 픽셀을 찾을 영역의 오른쪽 하단 y좌표
        RGB_value - 찾을 픽셀의 RGB 값
        _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들
       acc - 픽셀 값 정확도. 0 ~ 50 사이의 값을 입력. 권장 값: 0   

픽셀 값은 자작프로그램에 있는 픽셀값 찾기 프로그램으로 확인가능합니다.


2.0.0 버전의 수정된 함수

  • EKMLib_inactiveMouseDrag(s_x, s_y, e_x, e_y, step, num, _hWnd) - 비활성 마우스 드래그 함수
    변수 설명
         s_x - 드래그 시작 지점의 x 좌표
         s_y - 드래그 시작 지점의 y 좌표
         e_x - 드래그 끝 지점의 x좌표
         e_y - 드래그 끝 지점의 y좌표
         step - 드래그 시 마우스가 움직이는 간격 (1 이상의 값을 입력하셔야 합니다.)
         num - 드래그 횟수
         _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들

Step 변수가 추가되었으며, 함수의 오류 수정 및 드래그 성능이 개선되었습니다.


기존 함수

  • EKMLib_Start(user_id, user_pw) - EKMLib를 사용할 수 있도록 환경을 설정합니다. 
    변수 설명
         user_id - EKMLib를 사용하기위한 사용자 ID 입니다.
         user_pw - EKMLib를 사용하기위한 사용자 PASSWORD 입니다.


  • error := EKMLib_findHWND(winTitle, _hWnd) - 윈도우의 핸들을 얻어오는 함수. 핸들은 비활성 함수들에 사용됩니다.
    변수 설명
         winTitle - 핸들을 얻어오려는 윈도우의 이름을 입력합니다.
        _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들.


  • error := EKMLib_findChildHWND(_hWnd, index) - 윈도우의 자식 윈도우의 핸들을 검색합니다.
    변수 설명
         error - 0 : 핸들 찾음, -1 : 핸들 못찾음
         _hWnd - EKMLib_findHWND를 통해 얻어온 핸들을 입력합니다.
         num - 자식 윈도우의 핸들 개수를 받아옵니다.


  • error := EKMLib_getChildHWND(_hWnd, index) - 검색된 윈도우 핸들 중 index(숫자) 번째에 해당하는 자식창의 핸들을 얻어옵니다.
    변수 설명
          error - 0 : 핸들 찾음, -1 : 핸들 못찾음
         _hWnd - 함수를 통해 얻어온 자식 윈도우의 핸들값이 저장됩니다.
         index - 검색된 자식윈도우의 핸들 중 몇번째 핸들을 받아올지에 대한 숫자를 입력합니다.


  • EKMLib_click(x, y, _hWnd) - 비활성 마우스 클릭 함수. 
    변수 설명
         x - 클릭할 지점의 x 좌표
         y - 클릭할 지점의 y 좌표
         _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들

  • error := EKMLib_inactiveImageSearchAndClick(loc, image, x, y, _hWnd, acc, click_flag) - 비활성 이미지서치 및 클릭 함수. (최소화 상태에서는 동작하지 않습니다.)
    변수 설명
        error - 0: 이미지를 찾음, -1: 이미지를 못찾음
        loc - 이미지가 있는 폴더 명. 라이브러리 파일이 있는 경로의 아래경로
        image - 이미지 파일명 (확장자 제외)
        x - 찾을 이미지의 왼쪽 상단 x 좌표 (이미지 찾아드립니다 프로그램으로 확인가능합니다.)
        y - 찾을 이미지의 왼쪽 상단 y 좌표 (이미지 찾아드립니다 프로그램으로 확인가능합니다.)
        _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들
       acc - 이미지 인식 정확도. 1 ~ 0.5 사이의 값을 입력. 권장 값: 0.95
       click_flag - 이미지를 찾았을때 클릭을 할지/안할지 를 결정. 0: 클릭 안함, 1: 클릭 함


비활성 이미지서치 함수를 사용하실 때 이미지를 24비트 bmp 파일로 만드셔야 합니다.


  • error := EKMLib_inactiveImageSearchAndClickA(loc, image, x1, y1, x2, y2, _hWnd, acc, click_flag) - 범위 지정이 가능한 비활성 이미지서치 및 클릭 함수. (최소화 상태에서는 동작하지 않습니다.)
    변수 설명
       error - 0: 이미지를 찾음, -1: 이미지를 못찾음
       loc - 이미지가 있는 폴더 명. 라이브러리 파일이 있는 경로의 아래경로
       image - 이미지 파일명 (확장자 제외)
       x1 - 이미지를 찾을 영역의 왼쪽 상단 x 좌표
       y1 - 이미지를 찾을 영역의 왼쪽 상단 y 좌표
       x2 - 이미지를 찾을 영역의 오른쪽 하단 x 좌표
       y2 - 이미지를 찾을 영역의 오른쪽 하단 y 좌표
       _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들
       acc - 이미지 인식 정확도. 1 ~ 0.5 사이의 값을 입력. 권장 값: 0.95
       click_flag - 이미지를 찾았을때 클릭을 할지/안할지 를 결정. 0: 클릭 안함, 1: 클릭 함


  • error := EKMLib_inactiveImageSearch(loc, image, x1, y1, x2, y2, _hWnd, acc) - 비활성으로 찾은 이미지의 좌표를 반환하는 함수
    변수 설명
       error - 0: 이미지를 찾음, -1: 이미지를 못찾음
       loc - 이미지가 있는 폴더 명. 라이브러리 파일이 있는 경로의 아래경로
       image - 이미지 파일명 (확장자 제외)
       x1 - 찾은 이미지의 왼쪽 상단 x 좌표
       y1 - 찾은 이미지의 왼쪽 상단 y 좌표
       x2 - 찾은 이미지의 오른쪽 하단 x 좌표
       y2 - 찾은 이미지의 오른쪽 하단 y 좌표
       _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들
       acc - 이미지 인식 정확도. 1 ~ 0.5 사이의 값을 입력. 권장 값: 0.95

x1, y1, x2, y2를 오토핫키의 ImageSearch에서 FoundX, FoundY와 똑같은 방법으로 사용하시면 됩니다.


  • EKMLib_hideWindow(_hWnd) - 윈도우를 숨김/원위치 시키는 함수. 윈도우를 모니터 밖으로 이동시켜서 숨길 수 있습니다.
    변수 설명
       _hWnd - EKMLib_findHWND로 얻어온 윈도우 핸들

  • EKMLib_setWinList() - 실행중인 윈도우를 검색합니다. 검색 후, getWinList를 사용해서 윈도우 이름을 받아올 수 있습니다.


  • title := EKMLib_getWinList(index) - 실행중인 윈도우의 이름을 받아옵니다.
    해당 인덱스에 해당하는 하나의 값만 받아오며, Loop를 사용해서 모두 받아오시면 됩니다.
    변수 설명
        index - 검색된 윈도우 중 받아올 index값


  • EKMLib_Shutdown() - EKMLib 를 종료합니다. 종료하실 때 반드시 실행하셔야 합니다.

위에 나열된 함수들이 모두 EKMLib에 구현되어 있습니다.


간단한 사용법에 대한 강좌를 올리려고 했는데 이 글을 적는데 너무 오래 걸려서 쪼~금 미뤄야 겠네요.ㅠ

함수 강의를 보신 분들은 쉽게 접근하실 수 있으실 거구요~ 

감이 안오시는 분들은 위에 있는 함수 강의 링크 타고 가셔서 공부하시기 바랍니다~

감사합니다.


주의사항 : 배포는 http://elderlykims.tistory.com, elderlykim.com을 통해서만 이루어지며 무단 재배포 및 수정배포를 금지합니다. 저작물의 모든 권리는 킴영감에게 있습니다.
상업적 이용은 elderlykim@naver.com 으로 문의주시기 바랍니다.


블로그 이미지

킴영감

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

,