프로그램/유니티 스크립트 소스
[유니티 스크립트 소스] 키보드 이벤트 보내기
코더 제로
2021. 2. 2. 04:18
728x90
반응형
1. 네임스페이스
네임스페이스 |
using System.Runtime.InteropServices; |
2. ASCII 아스키 코드
[기타] ASCII 아스키코드 참고
3. 소스
using System.Collections;
using UnityEngine;
using System.Runtime.InteropServices;
public class KeyboardEvent : MonoBehaviour
{
[DllImport("user32.dll")]
static extern uint keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
private const int KEYEVENTF_KEYDOWN = 0x0000;
private const int KEYEVENTF_EXTENDEDKEY = 0x0001;
private const int KEYEVENTF_KEYUP = 0x0002;
private const int VK_LCONTROL = 0xA2;
private const int A = 0x41;
void Start()
{
StartCoroutine(StartKeyboardEvnet());
}
void Update()
{
GetKeyboardEvent();
}
IEnumerator StartKeyboardEvnet()
{
yield return new WaitForSeconds(1.0f);
keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(A, 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYUP, 0);
keybd_event(A, 0, KEYEVENTF_KEYUP, 0);
}
void GetKeyboardEvent()
{
if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.A))
Debug.Log("Ctrl + A");
}
}
728x90
반응형