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

C# 매크로 만들기 강좌 1탄

by 업무자동화 2021. 5. 23.
반응형

원문보기

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

 

엔지엠소프트웨어

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

www.ngmsoftware.com

 

안녕하세요. 엔지엠소프트웨어입니다. 엔지엠소프트웨어에서 제공하는 제품들은 [ 상품쇼핑 ]에서 확인할 수 있는데요. 일반적으로 가장 쉬운(?) [ 에디터 ]와 [ 플레이어 ]로 매크로를 만들어서 사용하고 있습니다. 이 둘을 이용하면 코딩을 몰라도 업무를 자동화 할 수 있는 매크로 프로그램을 제작할 수 있습니다. 또한, 스크립트는 사용자간 공유가 가능하기 때문에 판매해서 수익을 낼수도 있습니다. 제작자가 직접 스크립트 암호화와 인증도 처리해줄 수 있거든요^^; 오늘 알아볼 내용은 디자이너에서 제공하는 Framework를 이용해서 코딩 방식으로 매크로를 제작하는 방법에 대해 알아보겠습니다. 가장 간단한 마우스 클릭부터 해볼께요.

※ 디자이너는 엔터프라이즈 에디터와 플레이어를 구매 후 [ 관리자에게 별도로 요청 ]해야 합니다.

 

 

디자이너 설치 파일을 받은 후 [ 여기 ]를 참고해서 컴퓨터에 설치 해주세요. 그리고, [ Visual Studio도 설치 ]도 함께해야 합니다. 비주얼 스튜디오 관리자 권한으로 실행한 후 "새 프로젝트 만들기"를 클릭 하세요.

 

 

Windows Forms 앱(.NET Framework) 프로젝트를 만들기 아래 그림을 참고해서 따라해보세요.

  1. 언어는 C# 선택
  2. 플렛폼은 Windows 선택
  3. 프로젝트 형식은 데스크톱 선택
  4. Windows Forms 앱(.NET Framework) 선택
  5. 다음 클릭

 

 

프로젝트 이름에 FrameworkTest를 입력한 후 위치를 설정하세요. 이 예제에서는 기본 위치를 사용합니다. 마지막으로 프레임워크를 4.6.1로 선택하고 만들기를 클릭하세요.

 

 

우측의 솔루션(Cltr+Alt+L) 창으로 이동한 후 FrameworkTest 프로젝트의 참조에서 우클릭하세요. 아래 그림과 같이 참조 추가하세요.

 

 

우측 하단에 "찾아보기"를 클릭하세요. 설치한 디자이너의 프레임워크를 내 프로그램에서 사용하기 위해 라이브러리를 추가해야 합니다.

 

 

"Designer.dll"을 선택 후 "추가"를 클릭하세요.

 

 

첨부되어 있는 "Dummy.ngs"를 바탕화면에 다운로드 하세요. 그리고, 아래 그림과 같이 프로젝트를 선택한 후 "Shift+Alt+A"(기존 항목 추가)를 누르세요. 바탕화면에 다운로드 받은 "Dummy.ngs"를 선택해줍니다.

 

 

추가한 "Dummy.ngs"를 선택하고, "Alt+Enter"(속성)를 누르세요. 아래 그림과 같이 파일 속성을 변경해줍니다.

 

 

아래와 같은 화면이 표시됩니다. 여기서 "F7"을 눌러서 코드 보기로 이동하세요.

 

 

오픈소스나 API쪽 개발을 많이 해보신 분들이라면 아래 코드를 보면 쉽게 이해할 수 있을겁니다. 기본적인 내용은 주석으로 달아놓았습니다.

using System.Drawing; using System.Windows.Forms; namespace FrameworkTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); // 매크로 엔진에서 가상으로 실행할 스크립트 뷰를 생성합니다. // isBackground 파라메터를 false로 명시하지 않으면 뷰를 생성하지 않고 백그라운드로 실행됩니다. var sv = new Designer.Component.ScriptView(new Designer.ComponentDefault.MainView(), "/Dummy.ngs"); // 스크립트 뷰는 액션을 순차적으로 실행하기 위한 TreeView를 제공합니다. // 마우스 클릭 액션을 하나 추가합니다. TreeNode tn = sv.TreeView.Nodes.Add("M", "Mouse"); // 트리뷰에 추가한 노드에 마우스 클릭 액션을 추가해줍니다. tn.Tag = new NGM.Models.Mouse.ClickModel() { // 매크로 엔진에서 액션을 구분하는 함수키를 설정합니다. FunctionKey = NGM.Definition.FunctionKey.MOUSE_CLICK, // 마우스 클릭 위치를 설정합니다. MousePoint = new Point(100, 100) }; // 스크립트를 실행합니다. sv.Play(); } } }

 

반응형

댓글