본문 바로가기
엔지엠 매크로

매크로 - 엔지엠 매크로를 이용한 업무 자동화

by 업무자동화 2021. 6. 27.
반응형

원본 보기

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

 

엔지엠소프트웨어

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

www.ngmsoftware.com

 

안녕하세요. 엔지엠소프트웨어입니다. 파이썬으로 매크로 만드는 방법에 대해 자세하게(?) 알아봤는데요. 기능 비교를 위해~ 엔지엠으로 매크로를 어떻게 만드는지 알아볼께요. 사실 홈페이지의 내용을 잘 보면 비슷한 내용들이 많이 검색될겁니다. 하지만, 코딩 방식으로 매크로를 제작하는게 편하신 분들은 이 글을 참고하시면 많은 도움이 될겁니다. 프로그램을 하나 만드는데는 정말 많은 노력이 필요합니다. 눈에 보이지 않는 기능들이 너무나도 많기 때문이죠. 예를 들면 배포하는 형식이나 보안, 서버, 데이타베이스, 설치, 암호화, 인증, 패킹등등... 복잡합니다. 개발자라고 하더라도 어떤 서비스를 제공하는 소프트웨어를 개발하는건 쉬운게 아닙니다^^;

※ 엔지엠 프레임워크는 엔터프라이즈 라이센스에서 사용할 수 있습니다.

 

엔지엠 에디터와 디자이너를 설치해줍니다. 엔지엠 에디터 설치 방법은 [ 여기 ]를 참고하세요. 디자이너는 [ 여기 ]를 참고하시면 됩니다. 마지막으로 Visual Studio를 설치해줍니다. 매뉴얼 > 학습 게시판에 있는 [ 파이썬 매크로 만들기 ]에서는 Visual Studio Code를 사용했는데요. 엔지엠 제품은 C#으로 되어 있기 때문에 다른 개발 도구(IDE, 통합 개발 환경)를 설치해야 합니다. Visual Studio는 아래 링크에서 다운로드 받을 수 있습니다. 무료 버전인 커뮤니티를 설치하고, 마이크로소프트에 회원 가입 후 로그인해야 합니다. 자~ 이제 비주얼 스튜디오를 실행하고, 엔지엠 프레임워크 라이브러리를 참조에 추가 해줍니다. 아~ 그전에 예제로 사용할 새로운 프로젝트를 만들어야 합니다.

 

 

아래 그림은 Windows Forms 앱 (.NET Framework)으로 선택되어 있는데요. 이거 말고, 3번째 콘솔 앱(.NET Framework)으로 만들어주세요. Windows Forms 앱은 GUI가 있는 프로그램을 만들 때 사용합니다. 파이썬 매크로 만들기와 동일하게 테스트하기 위해 일단은 콘솔 앱으로 진행하도록 하겠습니다. GUI는 엔지엠 디자이너로 쉽게 만들 수 있으므로 나중에 다시 알아보도록 할께요.

 

 

예제라서 기본 값으로 놔두고, 우측 하단의 "만들기" 버튼을 클릭하세요.

 

 

여러분들도 아래와같은 화면일겁니다.

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { static void Main(string[] args) { } } }

 

 

파이썬과는 다르게 C#은 기본적으로 사용되는(사용될것으로 예상되는) 참조가 포함되어 있습니다. 파이썬이나 자바는 import로 패키지 또는 모듈을 참조하고, C#은 using(유징)을 사용합니다. 언어마다 차이는 있지만, 메커니즘은 동일하기 때문에 이런 키워드들은 그냥 외워서 사용해야 합니다. 참조에서 우클릭 후 디자이너 라이브러리를 추가하세요.

 

 

엔지엠 디자이너(프레임워크 포함)는 아래 위치에 있습니다.

  • 32bit: C:\Program Files (x86)\NGMsoftware\NUI\Designer.dll
  • 64bit: C:\Program Files\NGMsoftware\NUI\Designer.dll

 

아래와 같이 코드를 변경하고, 실행(F5) 해보세요.

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Mouse = NGM.Utility.MouseKeyboardManager.MouseSimulator; using Keyboard = NGM.Utility.MouseKeyboardManager.KeyboardSimulator; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Mouse.Position = new System.Drawing.Point(200, 200); } } }

 

 

파이썬의 pyautogui와 다르게 기본적으로 절대 좌표를 사용합니다. 그래서 마우스가 모니터를 기준으로 좌측 상단으로부터 X = 200, Y = 200 위치로 이동된것입니다. 상대 좌표로 이동시키려면 어떻게 해야 할까요? 마우스의 현재 위치를 알면 되겠죠? C#에서는 마우스의 위치를 알려주는 많은 함수가 존재합니다. 아래와같이 코드를 변경하고 다시 실행 해보세요.

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Mouse = NGM.Utility.MouseKeyboardManager.MouseSimulator; using Keyboard = NGM.Utility.MouseKeyboardManager.KeyboardSimulator; namespace ConsoleApp1 { class Program { static void Main(string[] args) { var p = Mouse.Position; p.Offset(new System.Drawing.Point(200, 200)); Mouse.Position = p; } } }

 

원본 보기

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

 

엔지엠소프트웨어

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

www.ngmsoftware.com

 

반응형

댓글