유니티에서 마우스 후킹, 마우스 제어하기
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.InteropServices;
public class Hook : MonoBehaviour
{
[DllImport("user32.dll")]
static extern void mouse_event(uint dwFlags, uint dx, uint dy, int dwData, int dwExtraInfo);
private const uint MOUSEEVENTF_LEFTDOWN = 0x0002;
private const uint MOUSEEVENTF_LEFTUP = 0x0004;
private const uint MOUSEEVENTF_WHEEL = 0x0800;
void MouseLeftDown()
{
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
}
void MouseLeftUp()
{
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}
void wheelUP()
{
mouse_event(MOUSEEVENTF_WHEEL, 0, 0, 50, 0); // 마우스 휠 50만큼 위로
}
void wheelDown()
{
mouse_event(MOUSEEVENTF_WHEEL, 0, 0, -50, 0); // 마우스 휠 50만큼 아래로
}
}
위 코드는 함수 순서대로
좌클릭 상태, 좌클릭 뗀상태, 마우스 휠 50만큼 위로, 마우스 휠 50만큼 아래로
마우스의 기능을 대체하는 R&D를 했었고 이 코드를 사용했다.
마우스나 키보드기능을 가져오는건 시스템 환경에따라 제한이 있어서 안될수도 있음
위 코드는 dll과 마우스 기능의 주소값?을 가져와서 실행시켰다.
그리고 컴퓨터의 입력권한을 가져오는 것을 후킹이라고 하는데, 해킹수법중에 하나고 이 기술을 잘못 활용하면 사이버범죄다. 근데 한창 개발카페에 서버,네트워크,파일 및 프로그램 제어 관리 질문을 올리다가 후킹이 해킹기술인지 모르고 질문 올렸다가 열심히 해명했다. 기술은 좋지만 좋은데 사용하자
'툴 > 유니티' 카테고리의 다른 글
[C#] 유니티 웹에 있는 데이터 가져오기 (0) | 2021.08.11 |
---|---|
Input.GetKey 에러 (2) | 2021.08.11 |
[C#]유니티 TXT로 저장 및 읽기 (0) | 2021.08.02 |
[C#] 유니티 렌더텍스쳐 이미지로 저장 (0) | 2021.08.02 |
[C#] 유니티에서 FTP로 파일 전송 및 파일 다운로드 (0) | 2021.08.02 |