Search results for 'Win32 API'

키보드 메시지 강제 발생시키기

2009. 3. 6. 14:43

키보드를 누르지 않아도

키보드가 눌린 것처럼 메세지를 강제로 발생시킬 수 있는 함수가 있습니다.

원형은

VOID keybd_event (BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo)

이고 각각의 파라미터를 살펴보자면

bVk
발생할 버추얼 키 값

bScan
발생할 하드웨어 키 값

dwFlags
옵션
KEYEVENTF_SILENT <- 키보드 이벤트 발생
KEYEVENTF_KEYUP <- 키보드에서 손을 뗀 효과

dwExtraInfo
추가 정보

예제

case WM_LBUTTONDOWN:
keybd_event(VK_SHIFT, 0, KEYEVENTF_SILENT, 0);
keybd_event('8', 0, KEYEVENTF_SILENT, 0);
keybd_event('8', 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);


이 예제는 마우스 왼쪽 버튼을 눌렀을때 발생하는 메세지인데

shift 키를 누르고 -> '8' 번 키를 누르고 -> '8'번 키를 떼고 -> shift 키를 떼는 동작입니다.

다시 정리하자면 마우스 왼쪽버튼을 누름 -> shift 키를 누른 상태에서 8번 키를 눌렀다가 뗀 것으로 인식됨


알 수 없는 사용자 Mobile braille system/문서