DllImport 를 이용하여 user32.dll에 존재 하는 API 를 사용하면 된다.
private const uint
LBUTTONDOWN = 0x00000002;
private const uint LBUTTONUP =
0x00000004;
[DllImport("user32.dll")] //
DllImport .
static extern void
mouse_event( uint dwFlags, uint dx, uint dy, uint dwData, int dwExtraInfo
);
[DllImport("user32.dll")] //
DllImport
static extern int
SetCursorPos(int x,int y);
1. 마우스
움직이기
Point pt =
PointToScreen( Location ); // 마우스 좌표를 가져올 수 도 있음. Point로 좌표를 사용해도 됨.
SetCursorPos( pt.X,
pt.Y ); // 마우스가 Pt 좌표에 위치하게끔 하는 함수.
2. 마우스 클릭.
mouse_event(
LBUTTONDOWN, 0, 0, 0, 0 ); // 다운
mouse_event(
LBUTTONUP, 0, 0, 0, 0 ); // 업
3. 드래그
mouse_event(
LBUTTONDOWN, 0, 0, 0, 0 ); // 시작
mouse_event(
LBUTTONUP, 0, 0, 0, 0 ); // 끝
개인적으로 마우스와 키보드 핸들은 AutoIt를 사용하는 것이 조금 더 편하다. 물론 C#에서도 AutoIt COM library 를 reference에 추가 하여 사용하는 것도 가능하다. 현재 대부분의 게임의 메크로에 AutoIt이 사용될 만큼 좋은 기능은 많이 갖추고 있다. 유저 포럼도 상당수 존재 하여 원하는 함수사용에 크게 어려움이 없다.
댓글 없음:
댓글 쓰기