NGMsoftware

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

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

    팁 앤 테크

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

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

    에디터 녹스 또는 엘디 안드로이드 앱플레이어에서 비활성 매크로가 동작되지 않는 경우 해결 방법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 녹스 또는 엘디와 같은 안드로이드 앱플레이어에서 비활성 매크로를 제작하려는 경우에는 [ ADB ] 또는 [ 핸들 ]을 사용해야 합니다. ADB는 문제가 되지 않지만, 핸들을 사용하면 간혹 문제가 발생되는 경우가 있습니다. 문제의 원인은 녹스나 엘디에서 특정 프로그램을 실행하면 앱플레이어의 구조가 변경된다는 점입니다. 녹스를 실행하고 핸들을 잡아보세요. 처음 상태의 콘트롤 구조는 아래와 같습니다.

    Nox(NoxPlayer)>FirstChild>Next>FirstChild>Next>FirstChild

    NfSxJSk.png

     

     

    인스타그램 또는 핸들이 풀리는 경우가 발생되는 프로그램을 실행한 후 다시 핸들을 설정 해보세요. 처음 구조와 달라진걸 확인할 수 있습니다. 중간에 Next가 하나 추가되었네요. 아마도, 녹스나 엘디의 자체 컨테이너에서 일부 프로그램이 실행될때는 내부적으로 한번 더 감싸거나 뭔가 추가되는거 같습니다. 자세한 내용은 알 수 없지만, 아무튼 구조가 바뀌기 때문에 핸들이 풀리는 현상이 발생하게 됩니다.

    Nox(NoxPlayer)>FirstChild>Next>Next>FirstChild>Next>FirstChild

    2g216Nt.png

     

     

    이 문제를 해결하기 위해 아래와 같이 처리할 수 있습니다. 이 글은 녹스를 기준으로 작성하지만 엘디나 모모, 블루스택과 같은 다른 앱플레이어도 동일합니다. 아래 동영상과 같이 엔지엠 매크로 에디터를 실행하고, 새로운 스크립트를 하나 추가하세요.

    cnOuw3h.gif

     

     

    기본 상태의 녹스 핸들을 잡아줍니다. 핸들 추가는 아래 동영상을 참고하시고, 선택할 창에서 파란색 박스로 선택되면 F1을 누르면 됩니다. 비활성 매크로 신호가 정상적으로 동작하는지 확인하기 위해 [ 마우스 클릭 ] 액션 2개도 추가했습니다. 매크로를 실행하면 클릭이 정상적으로 동작하는걸 확인할 수 있습니다.

     

     

    녹스에서 인스타그램을 실행하고, 종료하세요. 그리고 다시 매크로를 실행 해보세요. 녹스 앱플레이어 구조가 변경되었기 때문에 클릭이 발생하지 않습니다.

     

     

    이련 경우에는 콘트롤 핸들 값이 0으로 나옵니다. 핸들 값이 0이라는 의미는 제어할 프로그램을 못찾았다는 뜻입니다.

    tpj81JS.png

     

     

    핸들 값이 0이 아닌지 체크해야 하기 때문에 [ 변수 ]를 하나 만들고, [ 숫자 체크 ]로 비교해보면 될거 같군요~ 아래와 같이 변수를 추가하고, 아이디를 설정하세요.

    wdnif3t.png

     

     

    핸들 추가 액션의 콘트롤 핸들 값을 변수에 저장해줍니다. 아래 그림처럼 변수 추가하기를 클릭하고, "a" 변수에 콘트롤 핸들 값을 추가하세요.

    k3qxAHf.png

     

     

    숫자 체크 액션에서 변수 가져오기를 클릭하여 "a" 변수의 콘트롤 핸들 값을 가져옵니다. 이 값을 "비교 대상 숫자"에 넣어주는데요. 이 값이 0인지 비교해야 하기 때문에 "비교할 숫자" 속성에 0을 입력해줍니다. 핸들이 있으면 0보다 클테니 False가 되고, 콘트롤 핸들을 못찾으면 0이기 때문에 True가 됩니다.

    j4EevV1.png

     

     

    잘 동작하는지 테스트하기 위해 매크로를 다시 실행 해보세요. 아래 그림처럼 녹스의 구조가 바뀌었기 때문에 변수에 콘트롤 핸들 값 0이 저장되고, 숫자 체크 액션에서 변수의 값을 가져와서 0과 비교합니다. 그래서, 매크로 에디터 하단의 결과를 보면 0과 0을 비교해서 같기 때문에 True가 된것을 확인할 수 있습니다.

    J2pS9uR.png

     

     

    콘트롤 핸들을 찾는 방법은 다양합니다. 자세한 내용은 아래 글을 참고하시면 도움이 될거 같아요.

    [ 비활성 매크로 제작시 핸들을 찾는 다양한 방법 ]

     

    엔지엠 매크로 에디터에서 수동으로 핸들을 설정하는 방법은 간단합니다. 아래 동영상과 같이 마우스 좌표로 콘트롤할 프로그램으로 가면 정보들이 자동으로 입력됩니다. 이 정보들을 메모장에 기록해두고 마우스 설정을 초기화 해줍니다. 그리고 기록해둔 정보들을 아래와 같이 다시 추가해줍니다. 마우스 좌표로 처리해도 됩니다. 하지만, 창이 이동되거나 그러면 다른 창을 인식해서 잘못된 동작이 발생할 수 있습니다.

     

     

    숫자 체크에서 콘트롤 핸들이 정상(0보다 크면)이면 다시 핸들을 처리할 필요가 없습니다. 그래서, 핸들 추가 아래의 클릭 액션에 ①"b" 아이드를 설정하고, ②숫자 체크의 다름 속성에 "b"를 선택하세요. 콘트롤 핸들을 못찾으면 핸들 추가 액션이 한번 더 실행되고, 그렇지 않으면 핸들 추가 액션을 건너뛰고 클릭으로 바로 갑니다.

    m47tF07.png

     

     

    매크로를 실행해보면 구조가 바뀌었더라도 정상적으로 클릭이 발생하는걸 확인할 수 있습니다. 그런데, 이 로직을 실제로 사용해보면 또 다른 문제가 발생할겁니다. 매크로가 실행되다가 게임 또는 프로그램을 종료하고 다시 실행할 때 바뀔수도 있기 때문입니다. 그래서, 핸들이 바뀌는 동작을 먼저 찾아내야 합니다. 그래야 그 아래 부분에 이 로직을 추가해서 완벽하게 동작되는 매크로를 만들 수 있기 때문입니다.

     

     

    또한, 녹스나 엘디와 같은 안드로이드 앱플레이어도 꾸준히 업데이트가 되기 때문에 잘 동작하던 매크로가 어느날 갑자기 안될수도 있습니다. 이는 윈도우 환경, 녹스, 엘디의 환경이 변경되었거나 업데이트로 인해 수정 되었을겁니다. 그래서, 꾸준한 유지보수가 필요하죠. 이런 활동들을 줄이기 위해서는 자동 업데이트는 모두 끄고 사용하시는게 좋습니다. 그래야 일을 줄일 수 있거든요. 마지막으로 오토핫키를 설치하면 자동으로 생기는 Windows Spy로는 제어할 프로그램의 구조를 파악하는데 한계가 있습니다. 그래서, 비주얼 스튜디오의 Spy++을 사용하시길 권장 드립니다^^

     

    엔지엠 매크로 고객 서비스 ]

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.