본문 바로가기

이미지 매크로

매크로 프로그램 개발 - 매크로 제작할 때 디버깅을 이용해서 스크립트를 빠르게 만드는 방법. (엔지엠 디자이너)

반응형

무료 매크로 프로그램 다운로드

http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순구매매크로 #이미지서치매크로 #한글매크로

 

안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로 에디터를 이용해서 디버깅하는 방법은 아래 글을 참고하세요. 그리고, 1부에서 테스트한 스크립트도 준비해야 합니다.

1. 매크로 제작할 때 디버깅을 이용해서 스크립트를 빠르게 만드는 방법. (엔지엠 에디터) ]

 

 

엔지엠 디자이너는 엔지엠 에디터로 만든 스크립트를 사용해서~ 나만의 플레이어를 만들어서 실행할 수 있는 방법을 제공합니다. 디자이너를 만드는 자세한 방법은 아래 글을 참고해야 합니다. 엔지엠 플레이어가 있지만~ 새로운 디자인 또는 새로운 추가 기능이 필요한 경우에 디자이너를 사용합니다. 이외에도 여러가지 이유로 플레이어를 만들어서 사용하기도 합니다.

[ 나만의 플레이어 만들기 ]

 

비주얼 스튜디오(Visual Studio)를 실행하고, 참조에 디자이너를 추가 해줍니다. 그리고, 아래와 같이 화면을 디자인하세요. 디자이너 도구에서 Script를 윈도우 폼 위에 올려 놓습니다. 이와 마찬가지로 PlayButton StopButton 컨트롤도 폼 위에 올려놓으세요.

 

 

Script 콘트롤은 엔지엠 에디터로 제작한 스크립트를 선택하는 콘트롤입니다. 매크로는 엔지엠 에디터로 제작하고, 제작한 스크립트를 선택함으로써 동일하게 실행되는 플레이어를 만들 수 있습니다. 아래와 같이 실행할 스크립트를 선택 해줍니다. 그리고, 버튼들의 텍스트도 실행과 중지로 변경하세요.

 

 

이렇게 나만의 매크로 플레이어를 완성 했습니다^^;; 간단하죠? 실행해보면 1부에서 에디터로 테스트한것처럼 바탕화면의 내 PC 아이콘을 클릭합니다. 엔지엠 에디터나 플레이어처럼 마우스 이펙트를 표시하지 않기 때문에 잘 확인은 안되지만, 실행 후 자세히 보면 바탕화면의 내 PC 아이콘이 클릭되면서 선택되는걸 알 수 있습니다. 유심히 봐야 합니다^^;

 

 

디자이너에서 디버깅은 비주얼 스튜디오를 사용합니다. 자체 디버깅과 엔지엠 디버깅으로 나누어지는데요. 자체 디버깅은 프로그래밍할 때 비주얼 스튜디오에서 제공해주는 디버거를 말합니다. 엔지엠 디버깅은 스크립트의 액션들을 직접 연결해서 사용해야 합니다. 엔지엠 프레임워크는 각각의 액션이 수행될 때 그리고, 수행된 후 이벤트를 제공합니다. 디자인 화면에서 F7을 눌러서 코드 뷰로 전환하세요. 그리고, 아래와 같이 코드를 작성 해줍니다.

        private void Form4_Load(object sender, EventArgs e)
        {
            var player = this.script1.Player;
            player.BeforeCurrentAction += Player_BeforeCurrentAction;
            player.AfterCurrentAction += Player_AfterCurrentAction;
        }

 

폼의 Load 이벤트에 추가한 스크립트의 플레이어를 가져옵니다. 그리고, 플레이어의 Before, After Current Action 이벤트를 연결 해줍니다. 이벤트는 아래와 같이 처리 했습니다.

using System;

namespace DesignerDefaultTest
{
    public partial class Form4 : Designer.ComponentDefault.MainView
    {
        public Form4()
        {
            InitializeComponent();
        }

        private void Form4_Load(object sender, EventArgs e)
        {
            var player = this.script1.Player;
            player.BeforeCurrentAction += Player_BeforeCurrentAction;
            player.AfterCurrentAction += Player_AfterCurrentAction;
        }

        private void Player_BeforeCurrentAction(object sender, NGM.Events.TreeNodeActionArgs e)
        {
            Console.WriteLine($"실행 전: {e.ActionItem.Text}");
        }

        private void Player_AfterCurrentAction(object sender, NGM.Events.TreeNodeActionArgs e)
        {
            Console.WriteLine($"실행 후: {e.ActionItem.Text}");
        }
    }
}

 

여기서부터 개발자가 아니면 이해하기 어려운 내용들이 나옵니다. 이벤트는 2개의 인자(Parameter, 파라메터)를 넘겨주는데요. 첫번째 파라메터인 sender는 플레이어 자기 자신을 말합니다. 그리고, 두번째 인자인 TreeNodeActionArgs 형식의 e는 스크립트 액션 아이템을 넘겨줍니다. 이 코드는 액션 아이템의 이름(Text)을 콘솔로 표시하고 있습니다. 액션이 실행하기 전과 후로 나뉩니다. 비주얼 스튜디오의 출력창을 보면 각각의 액션이 실행 전과 후 로그를 표시하고 있습니다.

 

 

아래 그림과 같이 중단점(Break Point)을 설정 해줍니다. 중단점을 만들고 싶은 위치를 선택하고 F9를 눌러주세요.

 

 

플레이어를 실행하면 중단점이 활성화 되면서 좀 더 자세한 내용을 확인할 수 있습니다.

 

 

간단하게만 디자이너의 디버깅에 대해 알아봤는데요. 개발자라면 스크립트가 어떻게 동작하고 액션이 초기화되는지 그리고, 실행 결과를 어떻게 만드는지 모두 확인할 수 있습니다. 하지만, 대부분은 비개발자 분들이다보니 이렇게 디테일하게 작업할 수 있지는 않을겁니다. 엔지엠소프트웨어의 제품군은 에디터로 스크립트를 제작하고 플레이어로 실행하도록 되어 있습니다. 하지만, 나만의 플레이어가 가지고 싶은 분들은 디자이너로 사용자에게 보여지는 GUI만 변경해서 사용합니다. 실제 회사나 개발자분들은 엔지엠 프레임워크의 API를 사용해서 직접 제작하고 있습니다. 좀 더 다양한 기술들을 활용할 수 있지만, 이렇게되면 거의 개발자 수준의 지식이 필요하므로 간단하게 스크립트만 불러와서 실행될 수 있도록 하는게 좋습니다^^

 

[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]

 

원본 글 보기

http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로

반응형