NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 2
  • 매뉴얼

    NGM 2의 매뉴얼입니다.

    NGM 2

    NGM 2의 매뉴얼입니다.

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

    NGM Pro를 이용한 매크로 작성법 3탄 - 텍스트 입력과 가져오기.

    페이지 정보

    본문

    안녕하세요. 소심비형입니다. 오늘은 NGM Pro를 이용하여 다른 프로그램에 텍스트를 쓰거나 읽는 방법에 대해 알아보겠습니다.

    간단하게 테스트할 수 있는 프로그램은 윈도 메모장인데요. 이건 너무 간단하죠^^; 그래서 좀 더 난이도가 있는 카카오톡과 연동하는 방법에 대해 알아보겠습니다.

    일반적으로 응용 프로그램에 대해 텍스트 제어는 상당히 복잡하고 어려운 기술 중에 하나입니다. 각각의 응용 프로그램들이 별도의 한영 변환 속성을 가지고 있고, 텍스트 입력기가 아닌 다른 컨트롤은 값을 가져오기가 어렵기 때문입니다.

     

    1. 활성 모드 (Active Mode)

    NGM Pro는 활성 / 비활성 둘다 지원하는 매크로 툴입니다. 먼저 활성 모드에 대한 방법을 알아보고, 비활성 모드에서 처리하는 방법도 같이 알아보겠습니다.

    NGM Pro를 실행하고, 새로운 매크로를 생성하세요. 이름은 카카오톡 채팅으로 하겠습니다.

    img.png

     

     

    새로운 매크로가 추가 되었으면, 아래 그림처럼 마우스의 Action = Left Click을 선택하세요.

    2번의 Hook을 클릭하면 마우스 좌표가 자동으로 입력됩니다.

    3번처럼 텍스트를 입력할 카카오톡 메신저의 입력창에 마우스를 이동하고 ESC를 눌러서 Hook 상태를 해제하세요.

    4번을 클릭해서 마우스 클릭 액션을 추가합니다.

     

     

    카카오톡 메신저에 "안녕하세요~"글자를 입력해 보겠습니다.

    아래 그림처럼 키보드 탭을 선택하고, Write 액션을 체크하세요.

    2번처럼 Value에 입력할 텍스트를 적어줍니다.

    3번 Add를 클릭해서 매크로에 키보드 액션을 추가해주세요.

    img.png

     

     

    NGM Pro 메뉴의 매크로 > 실행을 클릭하거나 Ctrl+F5를 눌러서 매크로를 실행합니다.

    아래 그림처럼 5초 후 카카오톡 매시지 창에 "안녕하세요~"글자가 입력되는 것을 확인할 수 있습니다.

    입력한 매시 지를 전송하려면 엔터키를 한번 누르거나 전송 버튼을 클릭해야겠죠?

    아래 그림처럼 엔터키 액션을 하나 추가하세요.

    img.png

     

     

    다시 메뉴의 매크로 > 실행을 클릭하거나 Ctrl+F5를 눌러주면 메시지가 정상적으로 입력이 돼야 합니다.

    하지만, 우리 예상과는 다르게 카카오톡은 메시지를 전송하지 못합니다-_-;

    메모장에서는 잘 되는데 말이죠^^;

    아마도, 카카오톡은 내부적으로 무언가를 처리하기 때문에 어느 정도 딜레이가 필요한지도 모르겠습니다.

    Time탭으로 이동한 후 딜레이를 15주고 추가하세요.

    img.png

     

     

    방금 추가한 딜레이를 4번과 5번 사이에 넣어야 합니다. 위 이미지의 4번을 더블 클릭하면 편집 모드로 변경됩니다.

    값을 5로 변경하고 엔터를 누르세요.

    자동으로 인덱스와 액션의 위치가 정리됩니다.

    이제 단축키 Ctrl+F5(매크로 실행)를 눌러서 테스트해볼까요?

    정상적으로 메시지가 동작하는군요. 만약, 딜레이를 추가했는데도 동작하지 않는다면, 딜레이 값을 늘려가면서 테스트해보시기 바랍니다.

    기본적으로 100(0.1초) 정도 주면 100프로 동작합니다. 하지만, 좀 더 시간을 단축하고 싶다면 조금씩 딜레이 값을 조정하면서 최적의 값을 찾아내는 게 중요합니다.

    텍스트를 입력하는 방법은 알아봤으므로, 텍스트를 읽어오는 방법에 대해 알아볼 건데요.

    텍스트를 가져오기 위해서는 해당 컨트롤의 핸들 값을 알아야 합니다.

    프로그램은 어디서 텍스트를 읽어와야 할지 모르기 때문이죠-_-;

    그래서 이 방식은 Inactive에서 같이 알아보겠습니다. (Inactive가 아니더라도 사용할 수 있습니다.)

     

    2. 비활성 모드 (Inactive Mode)

    위에서 작성한 매크로는 카카오톡 메신저가 다른 곳을 이동되거나 최소화가 되면 동작하지 않는 문제가 있습니다.

    또한, 매크로가 동작중일 때는 다른 동작을 할 수 없다는 단점도 있죠^^

    비활성 모드를 사용하면, 매크로가 실행 중에도 다른 작업이 가능합니다. 또한, 카카오톡 메신저의 위치가 변경되거나 창이 최소화돼도 정상 작동합니다.

    우선, 메뉴의 옵션 > 환경 설정에서 비활성 모드 사용으로 변경하고 저장하세요.

    img.png

     

     

    메뉴의 유틸 > 레이아웃에서 이전에 만든 매크로를 선택하세요.

    레이아웃은 열려 있는 창들을 자동으로 정렬할 때 사용합니다. 

    가장 밑에 콤보 박스는 열려 있는 창 목록을 표시하고, 선택된 창을 활성화시켜줍니다.

    img.png

     

     

    매크로 창으로 변경되었으면, 아래 그림을 참고해서 카카오톡 메신저의 입력창을 등록하세요.

    1번 Command탭에서 2번 Add Handle를 선택합니다.

    Handle Finder창이 활성화되고, 이 창에서 3번 Auto Find를 클릭하세요.

    창 선택 모드로 변경됩니다. 4번의 컨트롤을 선택하고 5번을 눌러서 추가합니다.

    img.png

     

     

    마지막에 추가된 액션의 인덱스를 2번으로 수정하고 엔터를 치세요.

    자동으로 인덱스와 액션의 위치가 정렬됩니다.

    img.png

     

     

    필요 없는 마우스 좌표 액션은 삭제합니다. 아래 그림의 1번 박스를 클릭하면 전체 행(Row)이 선택됩니다.

    Delete키를 누르면 해당 행(Row)이 삭제됩니다.

    참고로, 1번 박스 영역을 Row Header라고 부르며, 이 곳을 클릭 드래그하면 멀티로 선택이 가능합니다.

    멀티로 선택된 상태에서 Delete를 누르면 선택된 행을 삭제할 수 있습니다.

    만약, 개별적으로 행을 선택해야 한다면 Ctrl 키를 누른 상태에서 클릭, 클릭으로 선택 가능하고, 전체 선택은 Ctrl+A입니다.

    img.png

     

     

    비활성 모드에서는 마우스 클릭으로 시도해보죠. 엔터키를 입력하는 5, 6, 7도 삭제해줍니다. 카카오톡 메신저에서 전송 버튼을 클릭하는 마우스 액션을 하나 추가하세요.

    모두 완성되었습니다. 여러분도 아래 그림처럼 매크로가 추가되어 있을 겁니다.

    테스트를 위해 카카오 메신저를 최소화하고, Ctrl+F5를 눌러서 실행해보세요.

    img.png

     

     

    참고로, 비활성 모드에서는 한글 입력을 지원합니다. 활성 모드는 한영키를 제어하려는 프로그램에서 직접 설정하고, 키 입력을 통해 입력합니다.

    예를 들어, 카카오톡의 현재 IME Mode가 한글로 설정되어 있고, 활성 모드 키 입력이 dkssud(안녕)이라면, 카카오톡에는 한글로 입력이 되는 방식입니다. 하지만, 비활성 모드는 직접 텍스트를 전달하므로 좀 더 간편하고, 한영키에 대해 고려하지 않아도 됩니다.

    * 활성 모드는 KeyDown, KeyUp을 이용해야 하고, 비활성 모드는 KeyPress 하나만 사용합니다.

     

    3. 텍스트 가져오기.

    텍스트 가져오기는 무조건 Inactive Mode에서만 동작합니다. 어떤 컨트롤에서 텍스트를 가져올지 시스템이 알아야 하기 때문이죠. 위에서 비활성 모드(Inactive Mode)에 대해 약간 학습을 했기 때문에 크게 어려운 부분은 없을 겁니다.

    가져올 텍스트가 있는 컨트롤을 먼저 선택하고 매크로에 추가합니다.

    img.png

     

     

     

    텍스트를 가져올 컨트롤의 핸들을 추가했으니, 이제 Keyboard탭의 Active에 Read를 선택하고 추가합니다. 

    Ctrl+F5를 눌러서 실행해보세요.

    클립보드에 텍스트가 복사되어 있습니다. 확인하려면 아무 곳이나 텍스트를 입력할 수 있는 곳에서 Ctrl+V를 눌러보세요. 

    img.png

     

     

    이 기능은 활용하기 나름입니다. 복사해온 텍스트를 다른 곳에 옮기려면 키보드 이벤트의 Ctrl+V를 추가해서 사용할 수 있습니다. 

    어느 정도 응용이 가능해질 정도의 실력이 되면, 컴퓨터로 하는 대부분의 일들은 자동화가 이루어지게 됩니다.

    좀 더 디테일한 내용이 궁금하시다면 댓글 남겨주세요.

    다음에는 서브 매크로에 대해 자세히 알아보겠습니다.

    안녕~

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.