NGMsoftware

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

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

    팁 앤 테크

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

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

    에디터 마우스 키보드 릴리즈 및 활성 모드의 Event와 Input 차이점.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 윈도우 매크로는 비활성 모드와 활성 모드 2가지로 자동화를 구현할 수 있습니다. 물론, 여기에 하드웨어 모드까지 더하면 총 3가지 방식을 사용할 수 있는데요. 엔지엠 매크로는 비활성 2가지 방식과 활성 2가지 방식 그리고, 하드웨어 3가지 방식을 제공하고 있습니다. 현존하는 매크로 프로그램이 만들 수 있는 모든 인터페이스를 제공합니다.

     

    매크로 프로그램을 만들다보면 실수 또는 의도적으로 마우스나 키보드를 릴리즈 하지 않는 경우들이 있습니다. 원칙대로라면 마우스와 키보드는 모두 쌍으로 이루어져야 합니다. 마우스 버튼을 누르면 때야 합니다. 키보드도 마찬가지입니다. 이렇게 마우스나 키보드 다운 상태를 릴리즈(업)하지 않으면 매크로가 끝난 후 키가 눌려 있을 수 있습니다. 그러면, 다음 동작에 문제가 발생할 수 있고 이런것들은 눈에 보이지 않아서 원인을 찾기도 어렵습니다. 최대한 정상적인 방식으로 매크로를 제작하는게 좋습니다. 마우스나 키보드를 눌렀으면 반드시 때야 합니다.

     

    테스트를 위해 메모장을 하나 실행하고, 엔지엠 매크로에서 스크립트도 추가 해주세요.

    cnOuw3h.gif

     

     

    메모장에 텍스트를 입력하기 위해 창을 활성화 하세요. 아래 동영상과 같이 [ 윈도우 활성화 ] 액션을 추가하고 메모장을 선택하세요. 그리고 옵션은 ActiveBringToFront로 변경하세요.

     

     

    텍스트 쓰기 액션은 아래와 같이 속성을 설정하세요. 가우시안 랜덤은 키보드 입력을 사람이 타이핑하는 것처럼 처리 해주는 옵션입니다. 일반적인 랜덤과는 다릅니다.

    [ 가우시안 랜덤이란? ]

    • 가우시안 랜덤 적용: True
    • 랜덤 최대값: 100
    • 랜덤 최소값: 30
    • 캐리지 리턴 제거: True
    • 텍스트
    안녕하세요. 엔지엠소프트웨어입니다.
    엔지엠 매크로를 많이 이용해주세요^^
    감사합니다.

    8U5i6xI.png

     

     

    [ 키 다운 ] 액션에서 시프트키(SHIFT)를 눌러줍니다. 왜 이렇게 하는지 시나리오는 아래에서 설명할께요^^

    2pcactk.png

     

     

    마지막으로 [ 키보드 입력 ] 액션을 추가한 후 아래 그림과 같이 속성들을 설정하세요. 이 매크로의 시나리오는 메모장에 텍스트를 입력하고, 시프트키를 누른 상태로 왼쪽 방향키를 눌러서 10개의 텍스트를 선택하는겁니다. 잘 이해가 안가신다면 메모장에 직접 타이핑한 후 시프트키를 누르고 왼쪽 방향키를 눌러보세요.

    wkLhn7V.png

     

     

    매크로를 실행해보면 메모장에 텍스트가 써지고, 시프트키를 누른 상태로 왼쪽으로 커서가 10번 이동합니다. 이렇게하면 텍스트가 선택되는데요. 시프트키가 계속 눌러진 상태로 유지됩니다. [ 키 업 ] 액션을 사용해서 눌려진 키 상태를 릴리즈하지 않았기 때문입니다. 아래 동영상을 보면 시프트키를 누른 상태로 왼쪽 방향키를 10번 눌러도 텍스트가 선택되지 않습니다. 그리고, 시프트키가 릴리즈되지 않아서 클릭할 때마다 클릭 위치를 기준으로 텍스트가 선택되는걸 확인할 수 있습니다.

     

     

    이번에는 키보드 입력 신호를 Event가 아닌 Input으로 변경 해보겠습니다.

    dg8VRnp.png

     

     

    매크로를 다시 실행 해보면 정상적으로 선택되는걸 확인할 수 있습니다. 하지만, 시프트키가 여전히 릴리즈 되지는 않았습니다. 당연한 이야기겠지만, 릴리즈 명령을 안줬기 때문입니다.

     

     

    이번에는 사용자가 실수로 릴리즈하지 않았더라도 엔지엠 매크로에서 자동으로 릴리즈하는 방법을 알아보겠습니다. 옵션을 열고, 아래와 같이 체크한 후 저장하세요.

    81cGfQg.png

     

     

    매크로를 다시 실행하면 더이상 시프트키가 눌린 상태로 유지되지 않습니다. 스크립트가 완료되었을 때 자동으로 눌려진 마우스나 키보드를 감지해서 업 상태로 만들어주기 때문입니다.

     

     

    활성 모드에서 입력 모드 Event와 Input의 동작이 다른걸 확인 했을겁니다. Event는 마우스와 키보드 하드웨어를 거치지 않고 소프트웨어 방식으로 윈도우에 이벤트를 보냅니다. 가상으로 키보드나 마우스가 어떤 동작을 했다고 알려주는 방식입니다. 그래서, 일부 프로그램에서는 마우스나 키보드가 정상적으로 동작하지 않을 수 있습니다. 반대로 Input은 마우스와 키보드에 신호를 입력하는 방식을 사용합니다. 다만, Input의 경우 하드웨어 장치와 일부 호환되지 않는 경우 에러가 발생할 수 있습니다.

     

    엔지엠 매크로는 좀 더 안정적이고 범용적인 Event를 기본값으로 사용합니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.