NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 5
  • 매뉴얼

    NGM 5의 매뉴얼입니다.

    NGM 5

    NGM 5의 매뉴얼입니다.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    커스텀 [1부] 커스텀 액션 만들기. (광클릭 마우스)

    페이지 정보

    본문

    [ 커스텀 액션으로 광클릭 마우스 매크로 만들기 ]

    ※ 아래 내용은 오래된 내용으로 더이상 사용되지 않습니다. 위 링크를 클릭해서 최신 내용으로 학습하세요^^

    안녕하세요. 소심비형입니다. 오늘은 간단한 커스텀 액션을 만들어보도록 하겠습니다. 단순히 마우스 클릭하는 건데요. NGM에 있는 마우스 클릭에서 지원하지 않는 광클릭 기능을 추가하겠습니다. 내용이 복잡하고 어려울 수도 있어요. 그렇더라도 한번 따라 해 보는 게 중요합니다^^;

     

    이전 시간에 Visual Studio를 설치하고, 아주 심플한 윈폼을 실행 해봤습니다. 뭐 코딩이라고 할만한 건 없었지만... 그래도, 프로젝트를 어떻게 만들고 실행하는지 알게 되었잖아요? 뭐 기억이 안나도 괜찮습니다. 계속 같은 내용이 반복되기 때문이죠. 반복 학습만큼 효율적인 것도 없습니다. 아래 그림처럼 프로젝트를 하나 만듭니다.

    1. 메뉴의 파일 클릭
    2. 새로 만들기 선택
    3. 프로젝트 클릭
    img.png
     

     

    클래스 라이브러리(.NET Framework) 프로젝트를 만들 겁니다. UI는 없는 Business Logic을 만들 때 사용합니다. 보통 심플한 Command 기반 앱이나 샘플과 같은 것들은 콘솔 앱을 사용합니다.

    1. 클래스 라이브러리 (.NET Framework) 선택
    2. 이름에 "CustomAction" 입력 (커스텀 도구 상자에 추가할 라이브러리는 "Custom"으로 시작하는 이름만 인식합니다.
    3. 이 프로젝트가 생성될 위치 선택 (우측에 찾아보기를 클릭하면 폴더를 선택할 수 있습니다.)
    4. 프레임워크는 4.6.1 선택 (다른 것을 선택해도 되지만 NGM이 4.6.1 기반이라 동일한 버전으로 진행하겠습니다.)
    5. 확인을 클릭하여 새 프로젝트 만들기 완료
    img.png
     

     

    우측에는 ①솔루션 탐색기가 보입니다. 그리고 그 아래 ②Class1.cs가 보이죠? Class1.cs에서 우클릭하여 삭제하세요.

     

    솔루션 탐색기에 대해...

    솔루션 탐색기는 프로젝트들을 관리하는 가장 큰 범위의 폴더라고 이해하면 됩니다. 솔루션은 하위에 많은 프로젝트를 가질 수 있고 프로젝트는 클래스를 비롯한 인터페이스나 파일들을 가질 수 있습니다.

    img.png

     

     

    아래 그림을 참고하여 새로운 클래스를 추가하세요. 우측의 솔루션 탐색기에 프로젝트를 선택하세요. 그리고 우클릭하면 콘텍스트 메뉴가 표시됩니다. 추가 > 클래스를 클릭하세요.

    img.png
     

     

    아래 그림처럼 ①클래스를 선택하고 ②이름은 "MouseCrazyClickModel.cs"로 입력합니다. 그리고, 우측 하단의 추가 버튼을 클릭해서 작업을 완료하세요. 참고로~!!! NGM에서 사용하는 모든 커스텀 액션들은 클래스명 마지막에 Model로 끝나야 합니다. 이 규칙은 꼭 지켜야합니다.

     

    클래스란?

    건축에서 건물을 짓거나 자동차, 로봇 등을 만들 때 설계도와 같다고 이해하면 됩니다. 이 설계도를 토대로 자동차를 만들었다고 가정합시다. 설계도는 클래스고 자동차를 만드는 설계도를 이용해서 실제로 승용차나 택시, 푸드트럭을 만들면 이것들을 인스턴스(Instance)라고 부릅니다. 인스턴스는 존재하는 실체를 말합니다.

    img.png

     

     

    아래 그림과 같은 화면이 만들어졌나요? 이제 뭔가 코드 같은 것들이 보이는군요-_-; 그러나 너무 어려워할 필요는 없습니다. 예전에는 커멘드, 이벤트, 함수들을 외워서 사용했지만... 지금은 인텔리센스(IntelliSense, 자동 완성)라는 기술로 인해 초보자도 프로그램을 아주 쉽게(?) 코딩할 수 있는 환경이 되었습니다.

    img.png

     

     

    아래 그림처럼 참조에서 우클릭 후 "참조 추가"를 클릭하세요.

    img.png

     

     

    ①찾아보기 탭을 클릭하고, ②우측 하단의 "찾아보기" 버튼을 클릭하세요.

    img.png
     

     

    내 문서의NGM5 > ToolExtension 폴더로 이동합니다. 이곳에는 NGM Framework에서 사용되는 실제 라이브러리들이 포함되어 있습니다. 이 라이브러리를 이용해서 액션을 만들 수 있게 됩니다. NGM.dll, NGM.Models.dll, NGM.Models.Interface.dll을 모두 선택하고 추가하세요.

    img.png
     

     

    참조 관리자에 추가한 3개의 라이브러리가 체크된 상태로 보입니다. 만약 체크되어 있지 않다면 체크하고 우측 하단에 확인을 클릭하세요.

    img.png

     

     

    아래 영상을 보고 코드를 추가하세요.

    MouseCrazyClickModel.cs

    img.png 

     

     

    아래 영상에서처럼 자동으로 코드가 완성되는 게 보이죠? 이 기능을 인텔리센스라고 부릅니다. 그리고 인텔리센스를 발동시키기 위해서는 "."을 이용합니다. "."은 오퍼레이터의 한 종류입니다. 그리고, 자동으로 코드가 완성되지 않을 때는 "Ctrl+Space bar"를 이용하세요. 동일한 기능입니다.

    gif 이미지는 클릭해서 보세요.

    img.gif

     

     

    이렇게 해서 개발하기 위한 준비가 완료되었습니다-_-; 무언가 많이 한 거 같은데... 아무것도 한 게 없군요. 여러분들이 NGM을 이용해서 스크립트를 만들듯이 프로그램 개발도 동일합니다. 개발자들 실력에 대해 말할 때 결국은 누가 더 많은 함수를 아느냐와 응용하느냐가 관건입니다. 여기서 고급 개발자(저는 하급 개발자니... 뭐라 하지는 마세요...)로 넘어가기 위해서는 더 많은 것들이 필요하지만, 시간 싸움이니 언젠간 되겠죠~ 포기하지만 않는다면 말이죠^^;

     

    이제 마우스 관련 옵션을 설정하기 위한 라이브러리를 하나 더 추가해야 합니다. 참조 추가를 다시 해야죠~

    img.png

     

     

    ①어셈블리 탭에 ②"System.Windows.Forms"를 체크하세요. 우측 하단에 확인을 클릭하여 작업을 완료합니다.

    img.png

     

     

    라이브러리가 추가되었으면 아래 전체 코드를 붙여 넣기 하세요. 16라인에 ClickCount 속성이 있습니다. 광클릭 액션은 클릭 카운트에 입력한 숫자만큼 클릭이 동작하도록 할 예정입니다. 그래서, 실행(18라인, Execute)에서 클릭 카운트만큼 반복하면서 마우스가 클릭하도록 코드가 구성되어 있습니다.

    MouseCrazyClickModel.cs

    img.png 

     

     

    프로젝트에서 우클릭하여 빌드(컴파일)하세요.

    img.png
     

     

    아래 그림처럼 ①빌드가 성공한 것을 확인할 수 있습니다.

    img.png

     

     

    이제 NGM을 실행하고 메뉴의 관리자 > 도구 모듈 설치를 클릭하세요.

    img.png

     

     

    내가 만든 CustomAction 솔루션의 폴더 안에 CustomAction 프로젝트 폴더로 이동하세요. 그 안에 bin > debug폴더로 이동하세요. 그리고 ①CustomAction.dll을 선택하고 ②열기를 클릭하세요.

    img.png

     

     

    왼쪽 하단의 ①사용자 도구에 ②광클릭 마우스 액션이 추가된 것을 확인할 수 있습니다.

    img.png

     

     

    우선 간단한 테스트를 위해 아래와 같이 새로운 스크립트를 추가합니다.

    File > 새로 만들기 > 스크립트 (단축키: Ctrl+N)

    img.png

     

     

    광클릭 마우스를 추가하세요.

    1. 사용자 도구 탭 클릭
    2. 광클릭 마우스 액션 선택
    3. 스크립트 에디터에 드래그 앤 드롭으로 추가
    4. 실행 전 지연에 3000 입력
    5. ClickCount에 10 입력
    img.png

     

     

    실행하면 어떤 결과가 나타날까요? 3초 후 10번 클릭하게 됩니다. 그런데... 이게 확인이 가능할까요? 아직 어디를 클릭해야 할지도 모르는 데다 얼마나 빠르게 클릭이 발생하는지 모르니까요. 그래서 클릭 위치를 사용자가 임의로 지정해야 합니다. 그래서 3초 딜레이를 준거죠. 우선 아래 그림을 볼까요?

    gif 이미지는 클릭해서 보세요.

    img.gif

     

     

    클릭 속도가 너무나 빠른 나머지... 클릭이 순식간에 10으로 바뀝니다. 클릭 카운트를 100으로 바꾸고 해 봤습니다. 이 스피드는 NGM의 플레이어보다 수십 배 빠르고, 에디터보다는 수백 배 빠른 속도입니다.

    gif 이미지는 클릭해서 보세요.

    img.gif

     

     

    다음에는 좀 더 프로페셔널(?)하게 보일 수 있도록 광클릭 액션을 다듬어 보도록 하겠습니다. 내용이 길어지다 보니 지치는군요-_-; 내용이 좀 부족할 수도 있는데요. 잘 안 되는 부분이 있으면 댓글로 남겨주세요.

     

    개발자에게 후원하기

    img.jpg

     

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해 줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.