본문 바로가기
스크립트 공유

C# .NET Core 매크로 프로그램 만들기. (마우스 클릭 드래그 2부)

by 업무자동화 2024. 4. 16.
반응형

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

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

 

엔지엠소프트웨어

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

www.ngmsoftware.com

#매크로 #메크로 #매크로프로그램 #엔지엠소프트웨어 #엔지엠에디터 #엔지엠플레이어 #비활성매크로 #하드웨어매크로 #기계식매크로 #마우스광클릭 #키보드매크로 #이미지서치 #이미지매치 #블로그 #카페 #인스타그램 #유튜브 #소셜네트워크 #카카오톡 #텔레그램 #자동화

 

 

  • 엔지엠 커뮤니티 월 이용료: 4,500원, 1년 이용료: 55,000원 (전체 기능의 80프로)
  • 엔지엠 얼티밋 월 이용료: 6,500원, 1년 이용료: 77,000원 (전체 기능의 90프로)
  • 엔지엠 엔터프라이즈 월 이용료: 9,200원, 1년 이용료: 110,000원 (전체 기능 사용)

 

안녕하세요. 엔지엠소프트웨어입니다. 이전 시간에 마우스 클릭과 드래그 기능까지 개발했는데요. 마우스 드래그는 마우스 다운과 업으로 어느정도 커버가 가능합니다. 하지만, 대부분의 프로그램들이 마우스 다운과 업으로 드래그를 구현하기는 쉽지 않습니다. 그래서, 별도로 마우스 드래그 액션을 만들고 프로그램에서 동작하는지 테스트 해보도록 할께요. 아직 이전 시간에 알아본 내용을 읽어보지 않았다면 먼저 읽어보고 오세요^^

 

마우스 드래그 액션은 아래와 같이 시작 좌표와 끝 좌표가 있어야 합니다.

    public class DragModel : BaseModel
    {
        private Point _start;
        private Point _end;

 

좌표를 설정하는 방법은 마우스 클릭 만들기에서 만든 마우스 트레커 에디터를 특성으로 부여해야 합니다.

[Editor(typeof(TypeEditor.MouseTrackingEditor), typeof(System.Drawing.Design.UITypeEditor))]

 

user32 라이브러리의 마우스 이벤트 API를 사용하면 됩니다.

mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);

 

활성 모드는 마우스 드래그 동작에 문제가 없습니다. 비활성으로 동작시키는게 문제인데요. 아래와 같이 드래그가 잘 동작합니다.

https://youtu.be/-NIIMl4qE7A

 

 

 

녹스 앱플레이어에서 아이콘을 이동해봤는데요. 잘 동작하는걸 확인할 수 있습니다. 마우스 드래그가 아닌 다운과 업으로 테스트 했습니다. 다만, 앱플레이어에서 아이콘을 이동하려면 아이콘을 꾹 누르고 있는 시간이 필요합니다. 그래서, 업 실행하기 전에 1초의 지연을 설정했습니다. 지연이 없으면 정상 동작하지 않습니다.

 

 

이번에는 지연이 없더라도 드래그가 되는지 확인 해볼께요. 실제 마우스로 2번 드래그 해보고, 매크로로 실행했는데요. 정상 동작하지 않습니다.

https://youtu.be/NM58o6CANWk

 

 

 

이번에는 마우스 이동을 추가하고, 스텝을 10으로 설정했습니다. 스텝은 마우스가 목표 지점까지 이동할 때 몇 단계를 거칠지에 대한 옵션입니다. 시작 위치가 0이고, 도착 위치가 100일 때 스텝이 10이면 마우스는 10픽셀씩 이동합니다. 아래 동영상처럼 마우스 이동을 추가하니 잘 동작하는군요.

https://youtu.be/LlybZi_yNpw

 

 

 

비활성 모드로 마우스 드래그를 구현하려면 약간 더 복잡합니다. 아래 그림과 같이 장치 입력 방법과 핸들 추가 액션을 추가하세요. 그리고, 장치 입력 방법 액션의 입력 방식을 비활성 모드인 PostMessage로 선택하세요. 

 

 

매크로를 실행하면 마우스가 이동하지는 않지만, 녹스 앱플레이어에서 드래그 명령이 실행되는걸 확인할 수 있습니다. 녹스 왼쪽에 드래그가 보입니다.

https://youtu.be/amKtAQDn_90

 

 

 

이번에는 윈도우 바탕화면에서 드래그를 해볼까요? 특정 폴더를 드래그해서 다른 폴더에 넣는 동작입니다. 핸들 추가 액션에서 윈도우의 바탕화면을 선택하고, 드래그 좌표도 변경해야 합니다. 이 테스트에서는 채용 폴더를 마지막 새 폴더(5)에 넣도록 했습니다.

https://youtu.be/tgfeDW4xPfw

 

 

 

여러가지 더 테스트를 해봐야겠지만, 다양하게 제공되는 속성들을 잘 활용하면 윈도우에서 실행되는 모든 프로그램에서 드래그 액션을 사용할 수 있을겁니다. 만약, 안되는 부분이 있다면 추가 개선이 필요할거 같아요. 현재까지는 문제 없이 동작하는걸 확인할 수 있었습니다.

 

[ 각종 자동화 매크로 및 RPA 프로그램 제작 해드립니다. ]

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

 

원본 글 보기

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

 

엔지엠소프트웨어

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

www.ngmsoftware.com

 

반응형

댓글