본문 바로가기

이미지 매크로

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

반응형

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

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

 

엔지엠소프트웨어

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

www.ngmsoftware.com

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

 

안녕하세요. 엔지엠소프트웨어입니다. 이전 시간에 에디터와 디자이너에서 디버깅 하는 방법에 대해 자세하게(?) 알아봤습니다. 마지막으로 엔지엠 프레임워크를 이용해서 디버깅하는 방법에 대해 알아볼건데요. 사실~ 프레임워크는 이제 완전 개발자 수준의 코딩이라서 일반인분들이 이 내용을 학습하기란 쉽지 않을겁니다. 따라서, 재미로 가볍게 읽어보시면 좋을거 같네요^^ 자~ 비주얼 스튜디오를 실행하고, 새로운 프로젝트를 만듭니다. 그리고, 디자이너를 참조에 추가하세요. 폼 디자인은 뭐 별거 없습니다!

 

 

매크로 제작에 관심있는 분들은 오토핫키라고 한번쯤은 들어보셨을겁니다. 오토핫키를 할줄 아시는 분들이면 엔지엠 프레임워크도 어느정도 사용할 수 있을텐데요. 그렇더라도 C# 개발자만큼 지식을 갖춰야 좀 더 개인화된 파워풀한 매크로를 만들 수 있습니다. 아마도... 개발자라면 이 내용을 볼 필요도 없긴하겠네요. 폼에 추가한 버튼을 더블 클릭해서 코드뷰로 전환하세요. 그리고, 아래 2줄을 추가 해줍니다.

using System.Windows.Forms;
using ng = NGM.Utility.ImageManager.ImageCondition;
using screenshot = NGM.Utility.ScreenCaptureManager;

 

버튼의 클릭 이벤트에는 아래와 같이 코딩하세요. 코드 내용은 바탕화면의 내 PC이미지를 윈도우 화면에서 찾는겁니다. 그리고, 결과를 콘솔로 찍어주고 있습니다.

        private void button1_Click(object sender, EventArgs e)
        {
            var source = Image.FromFile(@"C:\Users\ngmas\Desktop\내 PC.png");
            var target = screenshot.ScreenShot.DesktopCapture();
            Rectangle rect = ng.IsFind(source, target, 80, NGM.Definition.ImageMatchOption.CCoeffNormed);
            Console.WriteLine(rect);
        }

 

비주얼 스튜디오에서 너무 많은 정보를 표시하다보니 원하는 값만 확인하기가 어려울수도 있는데요. 익숙해지면 그리 어렵지 않게 필요한 내용만 확인할 수 있습니다. 바탕화면의 내 PC 이미지를 가져와서 IsFind 함수를 통해 결과를 출력합니다. 출력창에서 이미지를 찾은 위치를 확인할 수 있죠?

 

 

개발자들은 이렇게 콘솔에서 값을 확인하지는 않습니다. 대부분 필요한 데이타를 담고 있는 오브젝트를 조사식에 등록해두고, 체크합니다.

 

 

이제 찾은 이미지를 마우스로 클릭 해볼까요? 기존 코드에서 마우스 관련 2줄이 추가 되었습니다.

        private void button1_Click(object sender, EventArgs e)
        {
            var source = Image.FromFile(@"C:\Users\ngmas\Desktop\내 PC.png");
            var target = screenshot.ScreenShot.DesktopCapture();
            Rectangle rect = ng.IsFind(source, target, 80, NGM.Definition.ImageMatchOption.CCoeffNormed);
            Console.WriteLine(rect);

            mouse.Position = NGM.Common.RectangleCenter(rect);
            mouse.Click(mouse.MouseButton.Left);
        }

 

실행하면 이미지를 찾아서 클릭까지 해줍니다. 코드 내용도 아주 쉽습니다.

 

 

여기서 디버깅도 동일합니다. 실제 좌표와 마우스가 클릭할 센터 좌표를 비교해볼 수 있습니다. 직접 실행창은 마우스가 이동하기 전 사각형 영역의 중간 지점을 미리 확인할 수 있습니다. 좀 더 간단히 말해서 직접 실행창을 통해 함수를 미리 처리해보고, 결과 값을 받아볼 수 있다는 뜻입니다.

 

 

뭔가 점점 더 어려워지는듯 하지만... 네 그렇습니다. 이렇게 하나씩 배워가면서 실력이 늘어야 하는데요. 사실 소프트웨어 개발이 업이 아닌 경우 이렇게 시간을 보내는건 큰 도움이 되지는 않을거 같습니다. 저도 개발 관련된일이 아니면~ 대부분 구매해서 쓰거나 다른 대안을 찾습니다. 여러분들도 마찬가지일거라 생각합니다. 목적을 이루기 위해서 시간과 노력을 들이거나 돈으로 대체할수도 있습니다. 아니면... 포기하겠죠? 가성비만 좋다면 엔지엠 에디터와 플레이어같은 프로그램을 사용하는게 가장 좋은 선택일겁니다. 저도 개발자지만~ 업무용 자동화 툴을 만들 때 오토핫키나 기타 다른 제품들이 있다는걸 전혀 몰랐습니다. 그래서 여기까지 온거죠^^; 여러분들은 쉬운 길을 놔두고 돌아가지 않았으면 합니다~

 

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

 

원본 글 보기

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

 

엔지엠소프트웨어

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

www.ngmsoftware.com

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

반응형