무료 매크로 프로그램 다운로드
http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32
#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순구매매크로 #이미지서치매크로 #한글매크로
안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로에는 서브 루틴을 실행하거나 중지할 수 있는 방법이 존재합니다. 서브 루틴을 즉시 실행하거나 [ 예약 작업 등록 ] 또는 [ 타이머 틱 등록 ] 액션으로 정해진 시간에 동작을 수행할 수 있습니다. 서브 루틴은 매인 스크립트가 아닌 별도의 다른 스크립트를 실행할 수 있는 방법을 의미합니다. 지금 당장 이해가 안가더라도 아래 내용을 참고하여 예제를 따라해보면 쉽게 이해할 수 있습니다. 엔지엠 에디터를 실행하고, 새로운 스크립트를 하나 추가하세요.
서브 루틴으로 사용할 스크립트를 2개 만들겁니다. 무한 방복되는 스크립트와 1회 수행되는 스크립트입니다. 우선 아래 그림을 참고해서 무한 반복 스크립트를 하나 만드세요.
이 스크립트는 바탕화면을 핸들로 잡고, 바탕화면의 아이콘을 1초 간격으로 순차 클릭합니다. 그리고, [ 그룹 ]과 [ 액션 이동 ]으로 무한 반복하게 됩니다.
이번에는 한번만 수행되도록 할건데요. 위 스크립트에서 그룹과 액션 이동만 삭제하세요. 그리고, 다른 이름으로 저장(Alt > F > A)해줍니다.
1. 서브 스크립트
새로운 스크립트를 만들고, [ 서브 스크립트 ]를 추가해줍니다. 그리고, 아래 동영상을 참고해서 무한 반복할 수 있도록 스크립트를 구성 해줍니다.
스크립트를 실행(Ctrl+Alt+F8)하면 아래 동영상처럼 바탕화면의 아이콘을 클릭하는 서브 스크립트가 실행됩니다. 이 때 서브 스크립트가 동기 모드이므로 매인 스크립트는 멈추고 서브 스크립트만 실행됩니다. 서브 스크립트가 완료되면 매인 스크립트가 다시 실행됩니다.
서브 스크립트를 비동기로 변경하고 다시 실행 해보세요. 매인 스크립트와 서브 스크립트가 동시에 실행됩니다. 아웃풋 로그 내용을 보면 서브 스크립트가 실행중인데도 매인 스크립트의 무한 반복 루틴의 내용이 출력되는걸 확인할 수 있습니다.
이번에는 서브 스크립트를 "바탕화면 클릭 무한"으로 변경하고, 다시 실행 해보세요. 비동기를 다시 False로 변경해야 합니다. 동기 모드이므로 아래 동영상처럼 매인 스크립트는 멈추고, 서브 스크립트가 실행됩니다. 그리고, 매인 스크립트에서 일시 중지 후 실행 그리고 중지를 눌러보면 서브 스크립트도 일시 중지되거나 중지가 동작하는걸 확인할 수 있습니다.
비동기로 실행하더라도 매인 스크립트의 일시 중지와 중지가 서브 스크립트에 같이 적용됩니다. 비동기 모드는 매인과 별개로 독립적으로 실행된다는 의미입니다. 하지만, 별도로 스크립트를 실행한건 아니라서 매인 스크립트에 종속되어 있는 상태입니다. 그렇기 때문에 매인 스크립트와 별개로 실행되지만 일시 중지나 중지는 매인 스크립트에 영향을 받습니다.
2. 타이머 틱 등록
[ 타이머 틱 등록 ] 액션은 사용자가 설정한 시간에 서브 스크립트를 실행하거나 또는 실행중인 중지할 수 있습니다. 타이머 틱은 액션이 실행된 후 설정한 시간이 경과한 후 이벤트가 발생됩니다. 물론, 타이머 틱을 삭제하지 않는한 계속해서 틱(Tick)이 발생됩니다. 쉽게 말해서 틱이 10초라면 10초마다 서브 스크립트가 실행된다는 뜻입니다. 그렇기 때문에 서브 스크립트는 10초안에 완료되어야 다시 실행됩니다. 만약, 서브 스크립트가 15초동안 수행된다면 10초에 실행되고, 20초는 건너뛰고 30초에 다시 실행됩니다. 20초에는 이미 실행중이기 때문입니다. 테스트를 위해 아래와 같이 스크립트를 구성 해줍니다.
서브 스크립트는 4초간 동작합니다. 타이머 틱에 5초를 입력했기 때문에 매인 스크립트가 실행중에 틱이 발생하면 서브 스크립트가 실행되고, 매인 스크립트는 일시 중지됩니다. 그리고, 서브 스크립트가 완료되면 매인 스크립트가 다시 실행됩니다. 두번째 실행될 때는 매인 스크립트 실행 후 1초 후 서브 스크립트가 실행됩니다. 왜 이렇게 동작하는지 잘 이해가 안될수도 있는데요. 5초마다 매인 스크립트에서 틱이 발생하고, 서브 스크립트는 4초간 동작하기 때문에 다음 틱이 발생할 때까지 1초의 간격이 발생됩니다. 그래서, 서브 스크립트가 완료된 후 매인 스크립트가 1초간 실행되고 다시 서브 스크립트가 실행되므로 매인은 일시 중지 상태가 됩니다.
스크립트를 "바탕화면 클릭 무한"으로 변경하고, 다시 실행 해보세요. 서브 스크립트가 완료되지 않기 때문에 매인 스크립트는 계속해서 일시 중지 상태로 남아있게 됩니다.
이 글을 처음부터 테스트하고 읽어 보셨다면, "서브 스크립트와 동작이 왜 다를까?" 라는 의문이 드실겁니다. 서브 스크립트는 서브 루틴이 실행되더라도 매인 스크립트가 일시 중지되지 않기 때문입니다. 이유는 동작 방식이 다르기 때문입니다. 서브 스크립트는 자기 스스로 서브 루틴을 실행 시킵니다. 그렇기 때문에 액션 자체에 서브 루틴이 동기화될 수 있습니다. 하지만, 예약 작업과 타이머 틱은 액션에서 시간을 체크할 스레드를 생성한 후 이 스레드가 서브 스크립트를 제어합니다. 중간에 시간을 체크하는 스레드는 액션과 비동기적입니다. 그렇기 때문에 자신이 속한 매인 스크립트를 멈출 수 있는 권한이 없습니다. 따라서, 매인 스크립트를 일시 중지 상태로 만들고 스크립트를 실행하게 됩니다.
※ 잘 이해가 안가도라도 그냥 동작 방식의 차이라고 생각하고 넘어가도 됩니다^^
타이머 틱에 처음 실행 옵션을 True로 변경해줍니다. 그리고, 비동기도 True로 변경하세요. 스크립트를 실행하면 5초 후가 아닌 바로 서브 스크립트가 실행됩니다. 이렇게 동작하는 이유는 처음 실행 옵션을 True로 변경했기 때문입니다. 그리고, 옵션을 비동기로 설정하면 매인 스크립트와 별개로 동작하기 때문에 매인 스크립트가 일시 중지 상태가 되지 않습니다. 하지만, 매인 스크립트를 일시 중지하거나 중지하면 비동기로 실행중인 서브 스크립트도 영향을 받습니다.
3. 예약 작업 등록
[ 예약 작업 등록 ]은 타이머 틱 등록 액션과 동일합니다. 다만, 시간을 처리하는 방식이 다를 뿐입니다. 타이머 틱과 동일하게 테스트하기 위해 5초마다 실행되도록 크론탭 설정을 "*/5 * * * * *"와 같이 입력합니다. 그리고, 체크 간격을 100으로 변경 해주세요. 체크 간격은 중요한 옵션입니다. 이 옵션을 이해하려면 [ 여기 ] 글을 참고하세요.
스크립트를 실행하면 5초마다 서브 스크립트가 실행되는걸 알 수 있습니다. 타이머 틱과 동일하게 동기 모드에서는 서브 스크립트가 실행될 때 매인 스크립트는 일시 중지 상태가 됩니다. 그리고, 서브 스크립트가 완료되면 매인 스크립트가 자동으로 다시 실행됩니다.
이 후의 테스트는 타이머 틱과 동일합니다. 비동기 모드와 무한 반복 스크립트를 차례대로 테스트 해보고 결과를 확인 해보세요. 서브 스크립트(서브 루틴)은 매인 스크립트가 실행되면서 뭔가 다른 업무를 수행하는 스크립트를 실행시키기 위한 방법을 제공합니다. 이외에도 어떤 정해진 시간에 동작하는 스크립트를 만들때도 유용하게 사용할 수 있습니다.
[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]
원본 글 보기
http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech
#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로
'이미지 매크로' 카테고리의 다른 글
매크로 커뮤니티, 매크로 제작 강좌 - 사용자가 설정한 시간에 특정 액션으로 이동하는 여러가지 방법 (0) | 2022.07.16 |
---|---|
매크로 커뮤니티 - 원격 매크로를 이용해서 알림, 알람 받기 (0) | 2022.07.16 |
매크로 커뮤니티 강좌 - 무한 반복하는 매크로 만들기 (0) | 2022.07.16 |
이메일 대량 발송 매크로 (0) | 2022.07.16 |
비활성 매크로, 하드웨어 매크로, 기계식 매크로, 하이브리드 매크로 프로그램 만들기 (0) | 2022.07.16 |