c# 마우쓰 클릭 제어하기
아래 코드는 마우쓰 포인터가 있는 위치에서 왼쪽 버튼을 클릭하게 하는 예제다. 버튼을 누른 뒤에는 반드시 떼어야 클릭이 된다.
[DllImport("user32.dll")]
public static extern void mouse_event(UInt32 dwFlags, UInt32 dx, UInt32 dy, UInt32 dwData, IntPtr dwExtraInfo);
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
mouse_event(0x0002, 0, 0, 0, 0); // 누르고
mouse_event(0x0004, 0, 0, 0, 0); // 떼고
}
아래 코드는 c++ 문법이다.
void mouse_event(
[in] DWORD dwFlags,
[in] DWORD dx,
[in] DWORD dy,
[in] DWORD dwData,
[in] ULONG_PTR dwExtraInfo
);
DWORD는 UInt32로 ULONG_PTR는 IntPtr로 바꾼 거에 유의한다.
0x0002와 0x0004는 상수 변수들인 MOUSEEVENTF_LEFTDOWN과 MOUSEEVENTF_LEFTDOWNUP의 값들이다. 상수로 선언해서 써도 되고 위와 같이 그냥 써도 된다. 다른 패러미터들은 mouse_event function (winuser.h)에서 확인할 수 있다.