티스토리 뷰

개발/윈도우

마우스 이벤트 발생하기

-=HaeJuK=- 2015. 6. 15. 18:36
728x90

마우스 이벤트 발생하기

윈도우 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(001); 
 
    // 0,0, 기존 마우스 포인트로 복귀 하여 왼쪽을 클릭 합니다.
    ClickMouse(MousePos.x, MousePos.y, 1); 
    return 0;                    
}
cs
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함
250x250