NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 기계식 하드웨어 매크로 프로그램 만들기.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 업무 자동화 RPA 매크로 프로그램을 만들다보면 일부 프로그램들은(게임 또는 브라우저, 윈도우 프로그램등등...) 마우스 클릭과 키보드의 텍스트 쓰기가 동작하지 않습니다. 이런 경우에는 어쩔 수 없이 활성 및 비활성 방식의 소프트웨어 입력 신호는 사용할 수 없습니다. 그래서, 기계식 하드웨어 신호를 사용해야 하는데요. 오늘은 엔지엠 매크로에서 사용할 수 있는 다양한 방법에 대해 자세하게 알아보도록 하겠습니다.

     

    1. 클래스디디 (ClassDD)

    클래스디디는 중국에서 만든 가상 마우스 및 가상 키보드 드라이버입니다. 공식 홈페이지는 아래 주소입니다. 클래스디디는 기본적으로 무료 사용이 가능합니다. 무료 버전의 경우 디디가 실행될 때 네트워크에 연결하는데요. 중국에서 서버를 닫는 경우 네트워크 연결이 실패하여 정상 동작하지 않습니다. 150위안을 결제하면 네트워크 연결이 필요없는 디디를 사용할 수 있습니다. 대부분은 무료 버전을 이용하고 있을겁니다.

    [ ddxoft.com ]

    img.png

     

     

    Github에 드라이버 파일과 클래스디디를 이용해서 개발할 수 있는 다양한 언어의 예제 코드들이 포함되어 있습니다. 그리고, 실제로 정상 동작하는지 테스트할 수 있는 프로그램도 같이 들어 있습니다. 아래 프로그램을 실행시킨 후 클릭 및 키보드가 정상적으로 입력되는지 간단하게 테스트를 먼저 해볼 수 있습니다.

    qw4bGSB.png

     

     

    이제 엔지엠 매크로 에디터를 실행하고 새로운 스크립트를 하나 추가하세요.

    cnOuw3h.gif

     

     

    테스트를 위해 메모장을 하나 실행 해놓았습니다. 엔지엠 에디터에서 우측 하단의 외부 API탭을 클릭하고, 최상단에 외부 모듈 > [ 클래스 디디 ]를 더블 클릭해서 스크립트에 추가하세요.

    jT69O3v.png

     

     

    ClassDD 드라이버는 Simple, General, HID와 같이 3종류가 제공됩니다. 각각의 폴더 안에는 32비트와 64비트 드라이버가 포함되어 있습니다.

    tLKOtC8.png

     

     

    클래스 디디 액션의 속성창에서 모듈 선택을 클릭하면 드라이버 파일을 선택할 수 있는 창이 열립니다. 여기서, HID의 DDHID64.dll을 선택 해줍니다.

    iDlYvLz.png

     

     

    마우스 [ 클릭 ] 액션과 키보드 [ 텍스트 쓰기 ] 액션을 하나씩 추가하세요. 그리고, 마우스 클릭 액션은 메모장을 클릭하도록 좌표를 설정해줍니다. 좌표 설정은 클릭하고 싶은 위치로 마우스를 이동한 후 F1을 누르면 선택됩니다. 텍스트 쓰기 액션의 텍스트 속성에 "안녕하세요^^"를 입력하세요.

     

     

    매크로 스크립트를 실행 해볼까요? 여러분들도 아래 동영상과 같이 마우스가 메모장을 클릭하고, "안녕하세요^^" 텍스트가 입력될겁니다.

     

     

    2. Interception (인터셉션)

    이번에는 인터셉션을 사용해서 하드웨어 입력에 대해 알아보도록 하겠습니다. 클래스디디는 무료로 이용할 수 있지만, 인터셉션은 라이센스를 구매해야 사용이 가능합니다. 개인이라면 크게 문제가 되지 않을수도 있는데요. 만약, 회사 또는 수익을 목적으로 무단 사용시 문제가 커질 수 있습니다. 인터셉션은 아래 깃헙에서 다운로드 받을 수 있습니다.

    [ 인터셉션 다운로드 ]

    RW6V8PT.png

     

     

    Interception.zip 파일을 클릭하세요. 인터셉션은 상업용으로 이용하려면 라이센스를 구매해야 합니다. 클래스디디도 동일합니다.

    edk3lGZ.png

     

     

    아래 경로에 인터셉션 라이브러리가 플랫폼별로 들어 있습니다.

    0wTdGdD.png

     

     

    엔지엠 에디터 64비트를 사용한다면 인터셉션도 x64 폴더에 있는 라이브러리를 사용 해야 합니다. 일단 경로를 기억 해두세요. 참고로, 인터셉션 소프트웨어는 비상업용과 상업용 라이센스가 다릅니다. 상업용으로 이용하는 경우 commercial-usage 폴더에 들어있는 가이드 문서를 확인하세요. 라이센스를 취득 후 사용해야 합니다. 클래스디디나 인터셉션 라이센스에서 자유로우려면 아두이노를 사용하는게 가장 좋습니다. 오픈마켓에서 약 7,000원이면 쉽게 구매할 수 있습니다. 또한, 엔지엠 에디터 및 플레이어에서 원클릭으로 셋팅이 완료되므로 클래스디디나 인터셉션보다 사용하기가 편리합니다.

    bVKIFLc.png

     

     

    언터셉션 드라이버를 커멘드 라인에서 실행해야 합니다. CMD를 실행하고, 파일 위치로 이동합니다. 아래 경로는 사용자마다 다를 수 있습니다.

    cd "C:\Users\<사용자>\Downloads\Interception\command line installer"

    RS4FUAB.png

     

     

    드라이버를 설치합니다.

    install-interception.exe /install

     

    드라이버를 삭제하려면 아래와 같이 입력하세요.

    install-interception.exe /uninstall

     

    드라이버가 설치되었으면 컴퓨터를 리부팅해야 합니다. 이제 엔지엠 에디터를 실행하고, 아래와 같이 스크립트를 추가하고 작성하세요.

    LW8zWLI.png

     

     

    인터셉션 액션에서 interception.dll을 선택해줍니다.

    1. 인터셉션 속성의 "모듈 선택" 클릭
    2. 다운로드 받은 위치로 이동한 플랫폼에 맞는 interception.dll 선택
    3. 열기를 클릭하여 모듈 선택

    LmHqr7v.png

     

     

    마우스 장치와 키보드 장치를 선택해줍니다. 이 장치 아이디는 실제 윈도우에 연결된 장치 목록을 표시합니다. 이 후 마우스와 키보드의 신호는 선택한 장치로 보내게 됩니다.

    U6Fxhqn.png

     

     

    클래스 디디 테스트와 동일하게 마우스 클릭과 키보드 텍스트 쓰기 액션을 하나씩 추가한 후 좌표와 텍스트를 설정 해줍니다. 그리고, 매크로 스크립트를 실행해보세요. 여러분들은 아래 동영상과 결과가 다를 수 있습니다. 컴퓨터 성능 및 여러가지 환경에 따라 텍스트가 제대로 입력되지 않을 수 있습니다. 이런 경우에는 IME 모드 감지 속성을 True로 변경하고 다시 실행 해보세요. 너무 빠르게 입력되어 한글과 영어가 섞여서 입력되었습니다. 키보드 타이핑 속도를 5정도로 조정해서 실행하면 정상적으로 입력될겁니다.

     

     

    만약, 인터셉션이 정상적으로 동작하지 않는다면 덮어쓰기 옵션을 True로 변경하고 한번 실행한 후 다시 테스트 해보세요. 이렇게하면 선택된 인터셉션 모듈을 엔지엠 매크로 내부에 복사 해줍니다. 해당 모듈이 엔지엠 매크로 내부에도 존재해야 정상적으로 동작합니다. 따라서, 처음 인터셉션을 사용하는 경우 이 옵션을 True로 설정한 후 한번 실행해줘야 합니다.

    fX4ckjK.png

     

     

    3. 아두이노 (Arduino)

    아두이노는 실제 하드웨어 장치로 오픈마켓에서 구매해야 합니다. 아두이노는 여러가지 버전이 존재하는데요. 아두이노 레오나르도를 구매해야만 하드웨어 마우스 및 키보드 입력이 가능합니다. 엔지엠 매크로는 클래스디디, 인터셉션, 아두이노까지 총 3가지의 입력 방식을 사용할 수 있습니다. 네이버 쇼핑에서 검색해보면 다양한 가격대의 제품을 볼 수 있습니다. 구매하실 때 USB 케이블이 포함된걸로 구매하세요. 택배비까지 하면 대략 만원 내외로 구매가 가능합니다.

    jVy3Cbh.png

     

     

    아두이노를 배송 받았다면, 컴퓨터에 USB로 연결하세요. 윈도우가 자동으로 드라이버를 설치합니다. 그리고, 에디터를 실행한 후 메뉴에서 유틸리티를 선택하세요.

    FT6MDcG.png

     

     

    아두이노 업로드 버튼을 클릭하면 COM Port를 선택할 수 있는 창이 표시됩니다. 아두이노 COM Port를 선택하고 확인을 클릭하세요.

    ※ COM Port는 일반적으로 COM3, COM5입니다. 하지만, 각자 컴퓨터 환경에 따라 다를 수 있습니다.

    3MuKIuN.png

     

     

    업로드 작업은 최소 10초에서 최대 30초 정도 소요됩니다. 잠시 기다리면 업로드가 완료되었다는 메시지가 표시됩니다.

    1BJ70SL.png

     

     

    아두이노를 외부에서 확인하지 못하도록 감추고 싶다면 [ 아두이노 이름 및 장치 변경하기 ]를 읽어보고, 설정하세요. 아두이노도 클래스디디와 인터셉션처럼 동일하게 테스트 해보겠습니다. 외부 API탭의 아래쪽에 시리얼 통신 카테고리가 있습니다. [ 연결 ]액션을 추가하세요.

    r0JnejX.png

     

     

    시리얼 통신의 연결 속성에서 COM 포트를 설정해주세요. 포트 번호는 컴퓨터 환경에 따라 다릅니다. 윈도우의 장치 관리자에서 확인할 수 있습니다.

    fOQQUMa.png

     

     

    매크로 스크립트를 다시 실행 해보세요. 아래 동영상처럼 정상 동작할겁니다.

     

     

    클래스디디는 하드웨어 드라이버를 위회해서 소프트웨어적인 방식으로 접근하다보니 몇가지 제약이 있지만, 마우스 동작이나 키보드 입력이 소프트웨어 신호처럼 빠르게 동작합니다. 이 부분이 장점이 될수도 있고 단점이 될수도 있습니다. 그리고, 인터셉션과 아두이노는 컴퓨터에 연결되어 있는 물리적인 장치를 이용하다보니 좀 더 인간스럽게(?) 동작합니다. 그래서, 키보드 입력과 같은 단순한 작업도 너무 빠르게 입력되면 문제가 발생할 수 있습니다. 마우스와 키보드를 동작시킬 때 적당히 지연을 줘야 합니다. 물론, 랜덤하게 지연을 주면 더 좋겠지만요^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.