keybd_event() 함수는 Windows API에서 키보드 이벤트를 시뮬레이션하기 위해 사용되는 함수이다. 이 함수는 특정 키의 눌림 또는 놓임 동작을 시뮬레이션하여 운영 체제에 전달한다.
형태:
void keybd_event(
BYTE bVk,
BYTE bScan,
DWORD dwFlags,
ULONG_PTR dwExtraInfo
);
1. bVk: 가상 키 코드(Virtual-Key Code). 이 값은 눌리거나 놓일 키를 지정.
2. bScan: 하드웨어 스캔 코드. 일반적으로 0을 사용하며, 특정 키의 하드웨어 스캔 코드를 지정하려면 해당 값을 사용할 수 있다.
3. dwFlags: 동작 플래그를 지정. 이 플래그는 키 이벤트의 유형을 나타낸다.
KEYEVENTF_EXTENDEDKEY: 확장 키를 누를 때 사용합니다.
KEYEVENTF_KEYUP: 키를 놓을 때 사용합니다. 이 플래그가 없으면 키를 누르는 이벤트로 처리된다.
4. dwExtraInfo: 추가적인 정보를 제공하는 값으로, 일반적으로 사용되지 않는다.
다음은 keybd_event()를 사용하여 'A' 키를 누르고 놓는 예제:
#include <windows.h>
int main()
{
// 'A' 키 누름
keybd_event(0x41, 0, 0, 0);
// 'A' 키 놓음
keybd_event(0x41, 0, KEYEVENTF_KEYUP, 0);
return 0;
}
위 예제에서는 'A' 키를 눌렀다가 놓는 동작을 시뮬레이션. 0x41은 'A' 키의 가상 키 코드. 첫 번째 호출에서는 KEYEVENTF_KEYUP 플래그를 사용하지 않으므로 'A' 키가 눌리는 동작을 시뮬레이션하고, 두 번째 호출에서는 KEYEVENTF_KEYUP 플래그를 사용하여 'A' 키가 놓이는 동작을 한다.
다양한 가상 키 코드에 대해서는
https://robbercat.tistory.com/4
에 설명돼있다.
'MFC' 카테고리의 다른 글
[MFC] 마우스 이동, 클릭, 휠 스크롤 / 마우스 이벤트 mouse_event() (0) | 2024.07.21 |
---|---|
[MFC] 외부파일 가져오기 (0) | 2024.07.21 |
[MFC]다이얼로그 배경색 변경 (0) | 2024.07.18 |
[MFC]XOR 모드를 사용하여 선택 영역 그리기 (0) | 2024.07.15 |
Visual studio에 OpenCV 연동하기 (0) | 2024.06.20 |