이 글과 관련된 최근 포스팅
2010/04/25 - [작업공간/내 맘대로 프로젝트] - 마우스 클릭 매크로 ( C# 버전 )
2010/04/25 - [작업공간/내 맘대로 프로젝트] - 마우스 클릭 매크로 ( C# 버전 )
간단한 마우스 클릭을 자동화 해주는 매크로가 있었으면 해서 만들어 본 프로그램.
시간을 지정해주면 현재 마우스 포인트 위치에 클릭 이벤트를 발생 시켜주는 방식이다.
주요소스
CPoint point;
GetCursorPos(&point); // 마우스 좌표를 구한다.
MouseMove(point. x, point. y);
MouseClik(1,0); // 왼쪽 버튼을 누른다.
MouseClik(2,0); // 왼쪽 버튼을 뗀다.
// 마우스를 지정한 위치로 이동
void MouseMove(DWORD nX, DWORD nY)
{
nX = (DWORD)(65535.0 * nX / (double)GetSystemMetrics(SM_CXSCREEN));
nY = (DWORD)(65535.0 * nY / (double)GetSystemMetrics(SM_CYSCREEN));
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE,nX,nY,0,NULL);
}
// 원하는 마우스 버튼을 클릭
void MouseClik(int Lbtn, int Rbtn)
{
switch(Lbtn) {
case 1:
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,NULL);
break;
case 2:
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,NULL);
break;
}
switch(Rbtn) {
case 1:
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,NULL);
break;
case 2:
mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,NULL);
break;
}
}
GetCursorPos(&point); // 마우스 좌표를 구한다.
MouseMove(point. x, point. y);
MouseClik(1,0); // 왼쪽 버튼을 누른다.
MouseClik(2,0); // 왼쪽 버튼을 뗀다.
// 마우스를 지정한 위치로 이동
void MouseMove(DWORD nX, DWORD nY)
{
nX = (DWORD)(65535.0 * nX / (double)GetSystemMetrics(SM_CXSCREEN));
nY = (DWORD)(65535.0 * nY / (double)GetSystemMetrics(SM_CYSCREEN));
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE,nX,nY,0,NULL);
}
// 원하는 마우스 버튼을 클릭
void MouseClik(int Lbtn, int Rbtn)
{
switch(Lbtn) {
case 1:
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,NULL);
break;
case 2:
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,NULL);
break;
}
switch(Rbtn) {
case 1:
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,NULL);
break;
case 2:
mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,NULL);
break;
}
}