mouse_event 함수(winuser.h)
mouse_event 함수는 마우스 동작과 단추 클릭을 합성합니다.
구문
void mouse_event(
[in] DWORD dwFlags,
[in] DWORD dx,
[in] DWORD dy,
[in] DWORD dwData,
[in] ULONG_PTR dwExtraInfo
);
매개 변수
[in] dwFlags
형식:DWORD
마우스 동작 및 단추 클릭의 다양한 측면을 제어합니다. 이 매개 변수는 다음 값의 특정 조합일 수 있습니다.
마우스 단추 상태 지정하는 값은 진행 중인 조건이 아니라 상태 변경 내용을 나타내도록 설정됩니다. 예를 들어 마우스 왼쪽 단추를 누르고 있으면 왼쪽 단추를 처음 누를 때 MOUSEEVENTF_LEFTDOWN 설정되지만 후속 동작에는 설정되지 않습니다. 마찬가지로 MOUSEEVENTF_LEFTUP 단추가 처음 릴리스될 때만 설정됩니다.
둘 다 dwData 필드를 사용해야 하므로 dwFlags 매개 변수에서 MOUSEEVENTF_WHEEL 및 MOUSEEVENTF_XDOWN 또는 MOUSEEVENTF_XUP 동시에 지정할 수 없습니다.
[in] dx
형식:DWORD
x축을 따라 마우스의 절대 위치 또는 MOUSEEVENTF_ABSOLUTE 설정에 따라 마지막 마우스 이벤트가 생성된 이후의 동작 양입니다. 절대 데이터는 마우스의 실제 x 좌표로 지정됩니다. 상대 데이터는 이동된 미키 수로 지정됩니다. 미키는 마우스가 이동했다는 것을 보고하기 위해 마우스가 이동해야 하는 양입니다.
[in] dy
형식:DWORD
MOUSEEVENTF_ABSOLUTE 설정에 따라 y축을 따라 마우스의 절대 위치 또는 마지막 마우스 이벤트가 생성된 이후의 동작 양입니다. 절대 데이터는 마우스의 실제 y 좌표로 지정됩니다. 상대 데이터는 이동된 미키 수로 지정됩니다.
[in] dwData
형식:DWORD
dwFlags에MOUSEEVENTF_WHEEL 포함된 경우 dwData는 휠 이동의 양을 지정합니다. 양수 값은 휠이 사용자로부터 멀리 앞으로 회전되었음을 나타내고, 음수 값은 휠이 사용자를 향해 뒤로 회전되었음을 나타냅니다. 원 휠 클릭은 120인 WHEEL_DELTA 정의됩니다.
dwFlags에MOUSEEVENTF_HWHEEL 포함된 경우 dwData는 휠 이동의 양을 지정합니다. 양수 값은 휠이 오른쪽으로 기울어져 있음을 나타냅니다. 음수 값은 휠이 왼쪽으로 기울어져 있음을 나타냅니다.
dwFlags에MOUSEEVENTF_XDOWN 또는 MOUSEEVENTF_XUP 포함된 경우 dwData는 누르거나 놓은 X 단추를 지정합니다. 이 값은 다음 플래그의 조합일 수 있습니다.
dwFlags가 MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN 또는 MOUSEEVENTF_XUP 않으면 dwData는 0이어야 합니다.
값 | 의미 |
---|---|
|
첫 번째 X 단추를 눌렀거나 놓으면 를 설정합니다. |
|
두 번째 X 단추를 눌렀거나 놓으면 를 설정합니다. |
[in] dwExtraInfo
형식: ULONG_PTR
마우스 이벤트와 연결된 추가 값입니다. 애플리케이션은 GetMessageExtraInfo 를 호출하여 이 추가 정보를 가져옵니다.
반환 값
없음
설명
설정된 MOUSEEVENTF_MOVE 표시된 마우스가 이동한 경우 dx 및 dy 는 해당 동작에 대한 정보를 보유합니다. 정보는 절대 또는 상대 정수 값으로 지정됩니다.
MOUSEEVENTF_ABSOLUTE 값을 지정하면 dx 및 dy에는 0에서 65,535 사이의 정규화된 절대 좌표가 포함됩니다. 이벤트 프로시저는 이러한 좌표를 디스플레이 화면에 매핑합니다. 좌표(0,0)는 디스플레이 표면의 왼쪽 위 모서리에 매핑되며(65535,65535)는 오른쪽 아래 모서리에 매핑됩니다.
MOUSEEVENTF_ABSOLUTE 값을 지정하지 않으면 dx 및 dy는 마지막 마우스 이벤트가 생성된 시점(마지막으로 보고된 위치)의 상대 동작을 지정합니다. 양수 값은 마우스가 오른쪽으로 또는 아래로 이동한 것을 의미합니다. 음수 값은 마우스가 왼쪽(또는 위쪽)으로 이동됨을 의미합니다.
상대 마우스 동작은 마우스 속도 및 가속 수준에 대한 설정의 적용을 받습니다. 최종 사용자는 제어판 마우스 애플리케이션을 사용하여 이러한 값을 설정합니다. 애플리케이션은 SystemParametersInfo 함수를 사용하여 이러한 값을 가져오고 설정합니다.
시스템은 가속을 적용할 때 지정된 상대 마우스 동작에 두 개의 테스트를 적용합니다. x축 또는 y축을 따라 지정된 거리가 첫 번째 마우스 임계값보다 크고 마우스 가속 수준이 0이 아닌 경우 운영 체제는 거리를 두 배로 높입니다. x축 또는 y축을 따라 지정된 거리가 두 번째 마우스 임계값보다 크고 마우스 가속 수준이 2인 경우 운영 체제는 첫 번째 임계값 테스트를 적용한 결과 거리를 두 배로 곱합니다. 따라서 운영 체제가 x축 또는 y축을 따라 상대적으로 지정된 마우스 동작을 최대 4배까지 곱할 수 있습니다.
가속이 적용되면 시스템은 원하는 마우스 속도로 결과 값의 크기를 조정합니다. 마우스 속도는 1(가장 느림)에서 20(가장 빠른 속도)까지의 범위를 지정할 수 있으며 마우스가 이동하는 거리에 따라 포인터가 이동하는 정도를 나타냅니다. 기본값은 10이므로 마우스 동작을 추가로 수정하지 않습니다.
mouse_event 함수는 필요한 애플리케이션에서 마우스 이벤트를 합성하는 데 사용됩니다. 또한 위치 및 단추 상태보다 마우스에서 더 많은 정보를 가져와야 하는 애플리케이션에서도 사용됩니다. 예를 들어 태블릿 제조업체가 펜 기반 정보를 자체 애플리케이션에 전달하려는 경우 태블릿 하드웨어와 직접 통신하고 추가 정보를 가져오고 큐에 저장하는 DLL을 작성할 수 있습니다. 그런 다음 DLL은 dwExtraInfo 매개 변수에서 큐에 대기 중인 추가 정보에 대한 일부 포인터 또는 인덱스와 함께 표준 단추 및 x/y 위치 데이터를 사용하여 mouse_event 호출합니다. 애플리케이션에 추가 정보가 필요한 경우 dwExtraInfo에 저장된 포인터 또는 인덱스를 사용하여 DLL을 호출하고 DLL은 추가 정보를 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
추가 정보
개념
기타 리소스
참조