본문 바로가기

MFC

[MFC] 마우스 이동, 클릭, 휠 스크롤 / 마우스 이벤트 mouse_event()

mouse_event() 함수는 Windows API 함수로, 마우스 이벤트를 시뮬레이션할 때 사용된다. 이 함수는 특정한 마우스 입력을 생성하여 운영 체제에 전달한다. 이를 통해 프로그램 내에서 마우스 클릭, 이동, 휠 스크롤 등의 동작을 자동화할 수 있다.

 

형태 :

 

void mouse_event(

DWORD dwFlags,

DWORD dx,

DWORD dy,

DWORD dwData,

ULONG_PTR dwExtraInfo

);

 

1. dwFlags: 시뮬레이션할 마우스 동작을 지정하는 플래그.

 

MOUSEEVENTF_MOVE: 마우스 이동 (상대 좌표 이동)

MOUSEEVENTF_LEFTDOWN: 왼쪽 버튼 눌림

MOUSEEVENTF_LEFTUP: 왼쪽 버튼 놓음

MOUSEEVENTF_RIGHTDOWN: 오른쪽 버튼 눌림

MOUSEEVENTF_RIGHTUP: 오른쪽 버튼 놓음

MOUSEEVENTF_MIDDLEDOWN: 가운데 버튼 눌림

MOUSEEVENTF_MIDDLEUP: 가운데 버튼 놓음

MOUSEEVENTF_WHEEL: 마우스 휠 움직임

MOUSEEVENTF_ABSOLUTE: 절대 위치 (화면 좌표 기준)

 

2. dx: 마우스 커서의 새로운 X 좌표. MOUSEEVENTF_ABSOLUTE 플래그가 설정된 경우, 이 값은 화면 좌표의 절대 위치를 나타내며, 그렇지 않으면 상대적인 이동.

 

3. dy: 마우스 커서의 새로운 Y 좌표입니다. dx와 동일한 방식으로 사용.

 

4. dwData: 휠 움직임을 나타내는 값. MOUSEEVENTF_WHEEL 플래그가 설정된 경우, 이 값은 휠의 회전량. 양수는 앞으로 스크롤, 음수는 뒤로 스크롤.

 

5. dwExtraInfo: 추가적인 정보를 제공하는 값으로, 일반적으로 사용되지 않는다.

 

//절대 좌표 (100,100)로 이동

mouse_event(MOUSEEVENTF_ABSOLUTE, 100, 100, 0, 0);

 

// 왼쪽 버튼 누름

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

 

// 왼쪽 버튼 놓음

mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);