NGMsoftware

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

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

    팁 앤 테크

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

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

    에디터 비활성 매크로 만들기 - 비활성으로 제어하는 창의 핸들 가져오는 방법. (매인 핸들, 콘트롤 핸들)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 비활성 매크로를 만들려면 제어하려는 창(윈도우 프로그램)의 핸들(Handle) 값을 알아야 합니다. 핸들이라는 용어가 어떻게 보면 많이 생소한 용어이기도 합니다. 그런데 일상 생활에서 자주 보고 사용하는 용어이기도 해요. 네 그래요~ 여러분들이 생각하는 그 핸들 맞습니다^^

    ※ 필독 - [ 비활성 다클라 매크로를 만들 때 주의사항 ]

     

    자동차를 운행하기 위해 핸들을 조작하죠? 어떤 프로그램을 조작하려면 핸들 값을 알아내서 이 핸들로 프로그램을 제어해야 합니다. 우리가 조작하는 대부분의 것들을 핸들이라고 부릅니다. 문을 열 때 손잡이나 서랍 손잡이등등... 아무튼 그렇습니다. 비활성 매크로를 만들려면 핸들을 알아내는게 가장 중요한 작업중에 하나입니다. 이 테스트를 위해 카카오톡 대화방을 열고, 엔지엠 에디터도 실행 해줍니다.

    W4fCqmZ.png

     

     

    카카오톡 대화방에 글자를 남겨볼께요. 새로운 스크립트에 [ 핸들 추가 ] 액션을 추가하세요.

    7lBCM69.gif

     

     

    핸들을 추가(속성창 > 콘트롤 찾기 > F1 선택)하면 속성창의 데이터에 매인 핸들과 콘트롤 핸들이 자동으로 입력됩니다. 여기서 윈도우 핸들은 카카오톡 채팅창을 말하고, 콘트롤 핸들은 사용자가 선택한 채팅 입력하는 곳의 콘트롤입니다.

    W7SVVbl.gif

     

     

    핸들 값은 프로그램을 실행시킬 때 윈도우가 중복되지 않게 고유한 아이디를 발급합니다. 그러므로 윈도우에서 이 값이 중복되는 일은 발생하지 않습니다. 다만, 핸들 값이 프로그램을 실행할 때 윈도우에서 발급하기 때문에 다음에 다시 실행할 때 이 값이 변경되게 됩니다. 그래서, 엔지엠 매크로는 아래와 같이 프로그램명으로 구조를 찾아나가게 설계되어 있습니다. 카카오톡은 구조가 단순해서 엔지엠 에디터를 잠깐 선택 했습니다^^

    XrQciSF.gif

     

     

    여기까지는 이해가 되셨죠? 위에서 알아본 내용은 기본적인 비활성 매크로를 만들기 위한 방법이었습니다. 그런데~ 일부 프로그램은 매인 핸들과 콘트롤 핸들을 찾을 수 없습니다. 여러가지 다양한 이유들이 존재하는데요. 여기서 알아볼건 아닙니다^^; 그러면, 이런 콘트롤의 핸들은 어떻게 찾는지에 대해 알아보도록 하겠습니다. 여기부터가 이 글의 핵심 내용입니다. 여러분들도 아래 동영상을 참고해서 설정 값을 모두 초기화 해주세요.

    SdY1RNE.gif

     

     

    윈도우 프로그램들은 클래스 이름을 가집니다. 추가적으로 캡션이 있을수도 있는데요. 이 테스트에는 캡션이 없습니다. 찾을 콘트롤인 ①텍스트 입력창을 클릭하세요. Window Spy 프로그램에서 ClassNN(클래스 이름)과 텍스트(Caption)를 확인할 수 있습니다. 텍스트 입력창은 텍스트가 없기 때문에 표시되지 않았습니다.

    aS6tnz6.png

     

     

    텍스트 입력창에 NGMsoftware를 입력하고, 다시 클릭 해보세요. 이번에는 텍스트도 잘 가져온걸 알 수 있습니다. 캡션으로 콘트롤을 찾을 때는 버튼이나 라벨(Label) 콘트롤인 경우에 유용합니다. 텍스트 입력창과 같은 경우에는 콘트롤을 찾는 시점에 텍스트가 없을수도 있기 때문입니다.

    Xbyt8ff.png

     

     

    캡션(Text)과 클래스 이름을 찾는 방법은 이외에도 스파이++(Spy++)을 이용해도 됩니다. 아래 동영상을 참고 해보세요^^

    IGJFaYm.gif

     

     

    오토핫키의 Window Spy보다 Spy++이 더 많은 정보를 확인할 수 있습니다. 특히나, 콘트롤의 구조를 파악할 수 있다는점이 매우 강력합니다. 카카오톡 대화방의 구조를 보면 아래와 같습니다. 매인창 아래에 3개의 콘트롤이 존재합니다. 마지막 콘트롤은 또 하위로 콘트롤이 있다는걸 알 수 있습니다. + 표시가 있으니까요^^

    Kc34Pin.png

     

     

    우리가 찾을 콘트롤은 창 000B0F7A "NGMsoftware" RICHEDIT50W입니다. 첫번째가 핸들 값이고 두번째가 텍스트입니다. 마지막 3번째는 클래스 이름입니다. 우선, 텍스트 입력창이 매인창의 첫번째 자식 콘트롤인걸 알 수 있습니다. 아래와 같이 직접 콘트롤을 찾을수도 있습니다.

    ※ 정상적으로 찾아지지 않는 경우에는 직접 콘트롤 찾기를 편집할 수 있습니다.

    DFIve3N.png

     

     

    캡션이나 클래스 이름으로 핸들 값을 찾으려면 찾기 옵션True로 변경한 후 아래 동영상과 같이 직접 입력하세요. 실행하면 핸들 값을 정상적으로 가져올 수 있습니다.

    172J0jH.gif

     

     

    엔지엠 에디터의 속성창에서 마우스 좌표를 클릭하면 좌표로 핸들을 쉽게 찾을 수 있습니다.

    f4La8wy.gif

     

     

    테스트를 위해 아래 동영상처럼 [ 텍스트 쓰기 ] 액션을 추가한 후 스크립트를 실행 해보세요. 텍스트가 비활성으로 입력됩니다.

    6s8AkeV.gif

     

     

    이렇게해서 간단하게 비활성 매크로를 만들기 위한 핸들 값 찾기에 대해 자세하게 알아봤습니다. 혹시라도 궁금한 사항이 있으면 커뮤니티의 질문과 답변 게시판에 남겨주세요!

    ※ Spy++이나 Window Spy 프로그램은 오토핫키 매크로 제작자나 파이썬 매크로, C# 매크로를 제작할 때 사용하는 무료 소프트웨어들입니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.