개발/윈도우
마우스 이벤트 발생하기
-=HaeJuK=-
2015. 6. 15. 18:36
반응형
마우스 이벤트 발생하기
윈도우 OS 내에서 마우스 이벤트를 발생 코드입니다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
void ClickMouse(int parm_x, int parm_y, bool left_flag)
{
int x_pos = parm_x*65535/GetSystemMetrics(SM_CXSCREEN);
int y_pos = parm_y*65535/GetSystemMetrics(SM_CYSCREEN);
::mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, x_pos, y_pos,
0, ::GetMessageExtraInfo());
if(left_flag){
::mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE,
x_pos, y_pos, 0, ::GetMessageExtraInfo());
::mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE,
x_pos, y_pos, 0, ::GetMessageExtraInfo());
}
else
{
::mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_ABSOLUTE,
x_pos, y_pos, 0, ::GetMessageExtraInfo());
::mouse_event(MOUSEEVENTF_RIGHTUP | MOUSEEVENTF_ABSOLUTE,
x_pos, y_pos, 0, ::GetMessageExtraInfo());
}
}
|
cs |
사용방법
1
2
3
4
5
6
7
8
9
10
11
12
13
|
int main()
{
Sleep(1000);
POINT MousePos;
::GetCursorPos(&MousePos);
// 0,0, 으로 이동 후 왼쪽 버튼을 클립합니다.
ClickMouse(0, 0, 1);
// 0,0, 기존 마우스 포인트로 복귀 하여 왼쪽을 클릭 합니다.
ClickMouse(MousePos.x, MousePos.y, 1);
return 0;
}
|
cs |
728x90