다음을 통해 공유


MOUSEINPUT 구조체(winuser.h)

시뮬레이션된 마우스 이벤트에 대한 정보를 포함합니다.

구문

typedef struct tagMOUSEINPUT {
  LONG      dx;
  LONG      dy;
  DWORD     mouseData;
  DWORD     dwFlags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;

멤버

dx

형식: LONG

dwFlags 멤버의 값에 따라 마우스의 절대 위치 또는 마지막 마우스 이벤트가 생성된 이후의 동작 양입니다. 절대 데이터는 마우스의 x 좌표로 지정됩니다. 상대 데이터는 이동된 픽셀 수로 지정됩니다.

dy

형식: LONG

dwFlags 멤버의 값에 따라 마우스의 절대 위치 또는 마지막 마우스 이벤트가 생성된 이후의 동작 양입니다. 절대 데이터는 마우스의 y 좌표로 지정됩니다. 상대 데이터는 이동된 픽셀 수로 지정됩니다.

mouseData

형식:DWORD

dwFlags에MOUSEEVENTF_WHEEL 포함된 경우 mouseData는 휠 이동의 양을 지정합니다. 양수 값은 휠이 사용자로부터 멀리 앞으로 회전되었음을 나타내고, 음수 값은 휠이 사용자를 향해 뒤로 회전되었음을 나타냅니다. 한 바퀴 클릭은 120인 WHEEL_DELTA 정의됩니다.

Windows Vista: dwFlags에MOUSEEVENTF_HWHEEL 포함된 경우 dwData 는 휠 이동량을 지정합니다. 양수 값은 휠이 오른쪽으로 회전되었음을 나타냅니다. 음수 값은 휠이 왼쪽으로 회전했음을 나타냅니다. 한 바퀴 클릭은 120인 WHEEL_DELTA 정의됩니다.

dwFlagsMOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN 또는 MOUSEEVENTF_XUP 포함되어 있지 않으면 mouseData가 0이어야 합니다.

dwFlags에MOUSEEVENTF_XDOWN 또는 MOUSEEVENTF_XUP 포함된 경우 mouseData는 누르거나 놓인 X 단추를 지정합니다. 이 값은 다음 플래그의 조합일 수 있습니다.

의미
XBUTTON1
0x0001
첫 번째 X 단추를 누르거나 놓으면 를 설정합니다.
XBUTTON2
0x0002
두 번째 X 단추를 누르거나 놓으면 를 설정합니다.

dwFlags

형식:DWORD

마우스 동작 및 단추 클릭의 다양한 측면을 지정하는 비트 플래그 집합입니다. 이 멤버의 비트는 다음 값의 적절한 조합일 수 있습니다.

마우스 단추 상태 지정하는 비트 플래그는 진행 중인 조건이 아닌 상태 변경 내용을 나타내도록 설정됩니다. 예를 들어 왼쪽 마우스 단추를 누르고 누른 경우 왼쪽 단추를 처음 누를 때 는 MOUSEEVENTF_LEFTDOWN 설정되지만 후속 동작에는 설정되지 않습니다. 마찬가지로 MOUSEEVENTF_LEFTUP 단추가 처음 릴리스될 때만 설정됩니다.

둘 다 mouseData 필드를 사용해야 하므로 dwFlags 매개 변수에서 MOUSEEVENTF_WHEEL 플래그와 MOUSEEVENTF_XDOWN 또는 MOUSEEVENTF_XUP 플래그를 동시에 지정할 수 없습니다.

의미
MOUSEEVENTF_MOVE
0x0001
움직임이 발생했습니다.
MOUSEEVENTF_LEFTDOWN
0x0002
왼쪽 단추를 눌렀습니다.
MOUSEEVENTF_LEFTUP
0x0004
왼쪽 단추가 해제되었습니다.
MOUSEEVENTF_RIGHTDOWN
0x0008
오른쪽 단추를 눌렀습니다.
MOUSEEVENTF_RIGHTUP
0x0010
오른쪽 단추가 해제되었습니다.
MOUSEEVENTF_MIDDLEDOWN
0x0020
가운데 단추를 눌렀습니다.
MOUSEEVENTF_MIDDLEUP
0x0040
가운데 단추가 해제되었습니다.
MOUSEEVENTF_XDOWN
0x0080
X 단추를 눌렀습니다.
MOUSEEVENTF_XUP
0x0100
X 단추가 릴리스되었습니다.
MOUSEEVENTF_WHEEL
0x0800
마우스에 휠이 있는 경우 휠이 이동되었습니다. 이동량은 mouseData에 지정됩니다.
MOUSEEVENTF_HWHEEL
0x1000
마우스에 휠이 있는 경우 휠이 가로로 이동되었습니다. 이동량은 mouseData에 지정됩니다.
Windows XP/2000: 이 값은 지원되지 않습니다.
MOUSEEVENTF_MOVE_NOCOALESCE
0x2000
WM_MOUSEMOVE 메시지는 병합되지 않습니다. 기본 동작은 WM_MOUSEMOVE 메시지를 병합하는 것입니다.
Windows XP/2000: 이 값은 지원되지 않습니다.
MOUSEEVENTF_VIRTUALDESK
0x4000
좌표를 전체 바탕 화면에 매핑합니다. MOUSEEVENTF_ABSOLUTE 사용해야 합니다.
MOUSEEVENTF_ABSOLUTE
0x8000
dxdy 멤버에는 정규화된 절대 좌표가 포함됩니다. 플래그가 설정되지 않은 경우 dxdy 에는 상대 데이터(마지막으로 보고된 위치 이후의 위치 변경)가 포함됩니다. 이 플래그는 시스템에 연결된 마우스 또는 기타 포인팅 디바이스의 종류에 관계없이 설정하거나 설정할 수 없습니다. 상대 마우스 동작에 대한 자세한 내용은 다음 주의 섹션을 참조하세요.

time

형식:DWORD

이벤트에 대한 타임스탬프를 밀리초 단위로 표시합니다. 이 매개 변수가 0이면 시스템에서 자체 타임스탬프를 제공합니다.

dwExtraInfo

형식: ULONG_PTR

마우스 이벤트와 연결된 추가 값입니다. 애플리케이션은 GetMessageExtraInfo 를 호출하여 이 추가 정보를 가져옵니다.

설명

마우스가 이동한 경우 MOUSEEVENTF_MOVE 표시된 경우 dxdy 는 해당 이동에 대한 정보를 지정합니다. 정보는 절대 또는 상대 정수 값으로 지정됩니다.

MOUSEEVENTF_ABSOLUTE 값을 지정하면 dxdy에는 0에서 65,535 사이의 정규화된 절대 좌표가 포함됩니다. 이벤트 프로시저는 이러한 좌표를 디스플레이 화면에 매핑합니다. 좌표(0,0)는 디스플레이 화면의 왼쪽 위 모서리에 매핑됩니다. 좌표(65535,65535)는 오른쪽 아래 모서리에 매핑됩니다. 다중 모니터 시스템에서 좌표는 기본 모니터에 매핑됩니다.

MOUSEEVENTF_VIRTUALDESK 지정하면 좌표가 전체 가상 데스크톱에 매핑됩니다.

MOUSEEVENTF_ABSOLUTE 값을 지정하지 않으면 dxdy는 이전 마우스 이벤트(마지막으로 보고된 위치)를 기준으로 이동을 지정합니다. 양수 값은 마우스가 오른쪽으로 또는 아래로 이동됨을 의미합니다. 음수 값은 마우스가 왼쪽 또는 위로 이동됨을 의미합니다.

상대 마우스 동작은 마우스 속도 및 두 마우스 임계값의 영향을 받습니다. 사용자는 제어판 마우스 속성 시트의 포인터 속도 슬라이더를 사용하여 이러한 세 값을 설정합니다. SystemParametersInfo 함수를 사용하여 이러한 값을 가져오고 설정할 수 있습니다.

시스템은 지정된 상대 마우스 이동에 두 개의 테스트를 적용합니다. x축 또는 y축을 따라 지정된 거리가 첫 번째 마우스 임계값보다 크고 마우스 속도가 0이 아닌 경우 시스템은 거리를 두 배로 높입니다. x 또는 y 축을 따라 지정된 거리가 두 번째 마우스 임계값보다 크고 마우스 속도가 2인 경우 시스템은 첫 번째 임계값 테스트를 적용한 결과 거리를 두 배로 곱합니다. 따라서 시스템에서 x 또는 y 축을 따라 지정된 상대 마우스 이동을 최대 4배까지 곱할 수 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 winuser.h(Windows.h 포함)

추가 정보

개념

GetMessageExtraInfo

INPUT

키보드 입력

참조

SendInput