NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    C# 마우스 클릭 매크로 만들기. (Create a mouse click macro.)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 매크로를 만들려면 기본적인 기능을 탑재해야 하는데요. 가장 중요한 기능이 마우스 클릭이죠^^; 이전에 비활성 마우스 클릭에 대해 알아봤는데요. 혹시라도 비활성 클릭 방법이 궁금하시면 [ 여기 ]를 참고해주세요~

    dg5XQWO.png

     

     

    활성 마우스 클릭은 2가지 방식을 제공합니다. 비활성도 Post와 Send 2가지를 제공하죠. 우선, 마우스 동작에 대한 차이점을 이해해야 하는데요. 오늘 알아볼 event 방식은 절대 좌표로 이동해서 동작하는 방식입니다. 좌표가 항상 좌상단을 기준으로 설정되기 때문에 FPS 게임이나 마우스로 방향을 전환하는 MMORPG에서 사용할 수 없습니다. 무반동총이나 이동을 구현하려면 input 방식을 사용해야 합니다. 아무튼, 이벤트 방식은 윈도우 API를 사용하기 때문에 아래와 같이 코드를 추가하세요.

    [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
    public static extern void mouse_event(uint dwFlags, int dx, int dy, int dwData,  int dwExtraInfo);

     

    새로운 클래스에 상수를 정의해줍니다. 물론, 동일한 클래스에 맴버로 추가해도 됩니다.

    private const int MOUSEEVENTF_LEFTDOWN = 0x0002;
    private const int MOUSEEVENTF_LEFTUP = 0x0004;
    private const int MOUSEEVENTF_MOVE = 0x0001;

     

    API를 호출할 때는 아래와 같이 사용할 수 있습니다. X와 Y는 사용자로부터 입력받은 위치입니다. 마우스가 클릭할 위치죠~

    int X = 1220;
    int Y = 13;
    mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, X, Y, 0, 0);
    mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);

     

    전체 코드는 몇줄 안되기 때문에 쉽게 적용할 수 있을겁니다. 다음에는 input 방식으로 활성 마우스를 제어하는 방법에 대해 알아보겠습니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.