비활성 멀티 마우스 매크로 http://ngmsoftware.com
안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 RPA 매크로에는 키보드의 상태(Down 또는 Up)를 알 수 있는 조건 액션이 포함되어 있습니다. [ 키보드 상태 체크 ] 액션을 사용하면 자동화 매크로에서 특정 키보드의 키를 눌렀는지 확인할 수 있습니다. 조건 액션이므로 해당 키의 상태에따라 다른 동작을 수행할 수 있습니다. 엔지엠 RPA 매크로를 사용하시는 분들은 조건을 어떻게 사용하는지 알고 있기 때문에 단순히 키보드 상태가 체크 되는지 확인만 해보도록 하겠습니다. 아래와 같이 에디터를 실행하고, 새로운 스크립트를 하나 추가하세요.
아래 그램과 같이 키보드의 [ 키 다운 ] 과 [ 키 업 ] 사이에 키보드 상태 체크 액션을 추가하세요. 3개 액션 모두 키 코드 속성에 "TAB"을 선택하세요.
이 시나리오는 탭 키를 누르고, 탭치가 눌린 상태인지 체크하고 탭 키를 땝니다. 그러면, 탭 키가 누른 상태에서 상태를 체크하기 때문에 결과는 True입니다. 아래 로그와 같이 [키보드 상태 체크] 액션이 시작되었습니다. 다음에 비교 결과가 True로 나옵니다.
[[New] Script 1] 스크립트가 시작되었습니다.
[키 다운] 액션이 시작되었습니다.
[키 코드] TAB
Runtime: 00:00:00.005
[키보드 상태 체크] 액션이 시작되었습니다.
비교 결과: True
Runtime: 00:00:00.004
[키 업] 액션이 시작되었습니다.
[키 코드] TAB
Runtime: 00:00:00.006
[[New] Script 1] 스크립트가 완료되었습니다.
아래와같이 키보드 상태 체크를 키 다운 위나 키 업 아래로 이동시킨 후 다시 실행 해보세요.
결과는 예상대로 비교 결과: False가 나옵니다.
[[New] Script 1] 스크립트가 시작되었습니다.
[키 다운] 액션이 시작되었습니다.
[키 코드] TAB
Runtime: 00:00:00.005
[키 업] 액션이 시작되었습니다.
[키 코드] TAB
Runtime: 00:00:00.004
[키보드 상태 체크] 액션이 시작되었습니다.
비교 결과: False
Runtime: 00:00:00.005
[[New] Script 1] 스크립트가 완료되었습니다.
그렇다면~ [ 키보드 다운 이벤트 ]를 사용하면 어떻게 동작할까요? 키보드 상태를 좀 더 타이트하게 잡아내려면 이벤트를 사용해야 합니다. 아래와같이 스크립트를 구성 해보세요.
이번에 테스트할 시나리오는 이렇습니다. 키보드의 탭키가 눌렸는지 체크하는 이벤트를 하나 등록 해줍니다. 그리고, 키 다운과 키업 아래에 키보드 상태 체크 조건이 있으므로 결과가 False로 나올거라고 예상할 수 있습니다. 하지만, 결과는 True가 나오는데요. 키 다운 액션이 실행되면 이벤트가 발동하고 액션을 종료로 이동시킵니다. 그래서 키 업이 수행되지 못하고 키보드 상태 체크가 동작하고 마지막 키 업이 동작하게 됩니다. 아래 로그의 마지막 2번째를 보면 키보드 상태 체크의 결과 값이 True인것을 확인할 수 있습니다.
[[New] Script 1] 스크립트가 시작되었습니다.
[키보드 다운 이벤트] 액션이 시작되었습니다.
키보드 결과: NONE
Runtime: 00:00:00.003
[키 다운] 액션이 시작되었습니다.
[키 코드] TAB
Runtime: 00:00:00.006
아이디: 종료, [그룹(종료)] 액션이 시작되었습니다.
Runtime: 00:00:00.002
[키보드 상태 체크] 액션이 시작되었습니다.
비교 결과: True
Runtime: 00:00:00.004
[키 업] 액션이 시작되었습니다.
[키 코드] TAB
Runtime: 00:00:00.004
[[New] Script 1] 스크립트가 완료되었습니다.
이번에는 무한으로 반복되는 스크립트에서 사용자가 직접 키보드를 눌렀을 때 종료되는 예제입니다. 스크립트 구성은 아래 그림과 같고, 키보드 다운 이벤트의 감지 키는 NONE입니다. 키 코드 값이 NONE이면 모든 키에 대해 감지하게 됩니다. 특정 키만 감지하려면 키 코드를 선택하세요.
[ 지연 ]과 [ 액션 이동 ]으로 무한 반복되는 스크립트를 만들 수 있습니다. 이 무한 반복을 탈출하려면 아무키나 누르면 됩니다. 아래 동영상을 보면 지연과 액션 이동에서 무한으로 반복하고 있습니다. 실행중에 키보드의 아무 키나 누르면 키보드 다운 이벤트가 발동되고, 마지막 종료 액션으로 이동됩니다. 그리고, 스크립트가 종료되죠.
키 다운 상태가 아닌 키 업 상태도 이벤트로 등록할 수 있으며, 키보드의 상태에 따라 동작을 다양하게 만들 수 있습니다. 예를 들어 1 키를 누르면 2, 3, 4, 5가 연속해서 눌러지게 할 수 있습니다. 아래와 같이 스크립트를 구성하고 실행 해보세요.
생각한것과 다르게 동작하죠? 하지만, 잘 생각해보면 정상적으로 동작한다는걸 알 수 있습니다. 이벤트를 등록한다는건 백그라운드로 키보드의 다운을 감지하는 별도의 프로그램이 동작한다고 생각하시면 이해하기 쉽습니다. 정확하게 말하면 스레드(Thread)가 스크립트와는 별도로 동작하고 있는겁니다. 아무튼, 스크립트가 실행되면서 이벤트가 실행되고 1을 누를 때 2를 누르는 키보드 입력 액션으로 이동합니다. 키보드 입력도 키보드 다운과 업을 수행하기 때문에 키보드 다운 시점에 이벤트에 설정한 종료로 이동하고, 다시 키보드 다운이 발생하면서 무한 반복하게 됩니다.
다클라 비활성 매크로, 모바일 매크로, 이미지 매크로 http://ngmsoftware.com
'매크로' 카테고리의 다른 글
업무용 RPA 매크로 - 클립보드에 텍스트, 이미지를 저장하거나 가져오는 방법. (0) | 2022.01.01 |
---|---|
마우스를 누르면(다운) 자동으로 텍스트를 써주는 매크로 만들기. (0) | 2021.12.30 |
이미지 인식 매크로 만들기. (0) | 2021.12.29 |
이미지 인식 매크로 만들기. (0) | 2021.12.28 |
소셜 커머스 또는 라이브 커머스 반복 업무를 자동화 하는 매크로 만들기. (0) | 2021.12.24 |
댓글