마우스 좌표 매크로 저장

마우스의 좌표를 저장하고 실행하는 매크로는 C언어로 작성되어 있습니다.

메이플 PC방 접속 이벤트를 해야 하는데 5시간 동안 앉아 있기 싫어서 만들었습니다.

실제로 해봤는데 귀찮아서 안 하려고요.

F1 마우스 위치 저장

F2 마지막으로 저장된 마우스 위치 삭제

F3 리셋 빈 위치

F5 실행

F10 종료

#include <stdio.h>
#include <windows.h>
void home();
void reset_arr();
int is_empty();

int x(100);
int y(100);
int i=-1;
int main(void){
    POINT pt;
    reset_arr();
    int j,n;
    home();
    while (1) {
        SHORT KeyState_F1 = GetKeyState(VK_F1);//마우스 위치 저장
        SHORT KeyState_F2 = GetKeyState(VK_F2);//마지막 좌표 삭제
        SHORT KeyState_F3 = GetKeyState(VK_F3);//좌표 초기화
        SHORT KeyState_F5 = GetKeyState(VK_F5);//저장 실행
        SHORT KeyState_F10 = GetKeyState(VK_F10);
        if (KeyState_F1 & 0x8000) {
            Sleep(300);
            i++;
            GetCursorPos(&pt);
            x(i)=pt.x;
            y(i)=pt.y;
            printf("%d번째 좌표 : %d %d\n",i+1,x(i),y(i));

            fflush(stdout);
        } else if (KeyState_F2 & 0x8000){//좌표 삭제
            if(is_empty()!=FALSE){
                Sleep(300);
                x(i)=0;
                y(i)=0;
                printf("%d번째 좌표 삭제\n",i+1);
                i--;
            }
        } else if (KeyState_F3 & 0x8000){//좌표 초기화
            if(is_empty()!=FALSE){
                Sleep(300);
                reset_arr();
                i=-1;
                printf("초기화가 됐습니다\n");
            }
        } else if (KeyState_F5 & 0x8000){ // 저장 실행
            if(is_empty()!=FALSE){
                Sleep(300);
                n=0;
                for(j=i;n<=j;n++){
                    SetCursorPos(x(n),y(n));
                    Sleep(100);
                    mouse_event(MOUSEEVENTF_LEFTDOWN,x(n),y(n),0,0);
                    mouse_event(MOUSEEVENTF_LEFTUP,x(n),y(n),0,0);
                    printf("%d번째 좌표 실행 %d %d\n",n+1,x(n),y(n));
                    Sleep(100);
                }
            }
        } else if(KeyState_F10 & 0x8000){
            break;
        }
        Sleep(200); // Sleep for 100ms to prevent high CPU usage
    }
    return 0;
}


void home(){
    printf("*******************\n");
    printf("F1 : 마우스 좌표 저장\n");
    printf("F2 : 마우스 좌표 삭제\n");
    printf("F3 : 배열 초기화\n");
    printf("F5 : 실행\n");
    printf("F10 : 종료\n");
    printf("*******************\n");
}
void reset_arr(){
    memset(x,0,sizeof(x));
    memset(y,0,sizeof(y));
}

int is_empty(){
    if(i<0){
        printf("####오류가 발생했습니다 배열이 비어있습니다. ####\n");
        return FALSE;
    }
    return TRUE;
}