이제 언리얼에서 마우스 다룰 대부분의 준비는 다된것같다.
마지막으로 윈 API로 마우스 다루기 시작
먼저 윈도우 위치 가져오는 코드
#include <Windows.h>
#include <iostream>
void GetCursorPosition()
{
POINT cursorPos;
if (GetCursorPos(&cursorPos))
{
int x = cursorPos.x;
int y = cursorPos.y;
// 마우스 커서 위치를 사용하여 원하는 작업 수행
// 예: 좌표 출력
std::cout << "Cursor position: x = "<< x << " , y = " << y << std::endl;
}
}
int main()
{
int duration = 5; // 프로그램 실행 시간 (초)
int interval = 500; // 마우스 커서 위치 갱신 간격 (밀리초)
// 일정 시간 동안 주기적으로 마우스 커서 위치 얻기
for (int i = 0; i < duration * 1000 / interval; i++)
{
GetCursorPosition();
Sleep(interval);
}
return 0;
}
실행 결과 커서 위치 잘가져옴
마우스 커서 이동 시키는 코드
#include <Windows.h>
#include <iostream>
void GetCursorPosition()
{
POINT cursorPos;
if (GetCursorPos(&cursorPos))
{
int x = cursorPos.x;
int y = cursorPos.y;
// 마우스 커서 위치를 사용하여 원하는 작업 수행
// 예: 좌표 출력
std::cout << "Cursor position: x = " << x << " , y = " << y << std::endl;
}
}
void MoveCursorTo(int x, int y)
{
SetCursorPos(x, y);
}
int main()
{
int startX = 80; // 시작 x 좌표
int startY = 80; // 시작 y 좌표
int duration = 5; // 프로그램 실행 시간 (초)
int interval = 500; // 좌표 갱신 간격 (밀리초)
int step = 20; // x 좌표 증가량
int targetX = startX;
int targetY = startY;
// 일정 시간 동안 주기적으로 x 좌표를 증가시켜 마우스 커서 이동
for (int i = 0; i < duration * 1000 / interval; i++)
{
targetX += step;
MoveCursorTo(targetX, targetY);
GetCursorPosition();
Sleep(interval);
}
return 0;
}
보조 모니터(2번)에서 마우스 좌클릭 우클릭 반복하며 이동하는 코드
#include <Windows.h>
#include <iostream>
void MoveCursorTo(int x, int y)
{
SetCursorPos(x, y);
}
void MouseClick(int button)
{
INPUT input = { 0 };
input.type = INPUT_MOUSE;
input.mi.dwFlags = button;
SendInput(1, &input, sizeof(INPUT));
}
int main()
{
int startX = 2500; // 시작 x 좌표
int startY = 80; // 시작 y 좌표
int duration = 8; // 프로그램 실행 시간 (초)
int interval = 500; // 좌표 갱신 간격 (밀리초)
int step = -20; // x 좌표 감소량
int targetX = startX;
int targetY = startY;
// 일정 시간 동안 주기적으로 x 좌표를 감소시켜 마우스 커서 이동 후 클릭
for (int i = 0; i < duration * 1000 / interval; i++)
{
targetX += step;
MoveCursorTo(targetX, targetY);
if (i%2 == 0)
MouseClick(MOUSEEVENTF_RIGHTDOWN);
else
MouseClick(MOUSEEVENTF_RIGHTUP);
Sleep(interval);
}
return 0;
}
'컴퓨터과학 > 언리얼' 카테고리의 다른 글
HandDesktop26 - 윈도우API 마우스 제어 연동 (0) | 2024.02.08 |
---|---|
HandDesktop25 - 손 제스처로 마우스 커서 이동 구현(+커서 회전) (0) | 2024.02.08 |
HandDesktop23 - 라인트레이싱 결과 화면 좌표 매칭 (0) | 2024.02.07 |
HandDesktop22 - 중심 점으로 인 게임 커서 회전,이동 하기 (0) | 2024.02.07 |
HandDesktop21 - 마우스 제어 시작 (0) | 2024.02.07 |