사용자가 W,A,S,D중 한 키를 누르면 해당키를 다운,업,다운 한 효과를 주려고 합니다
이를위해 후킹 프로시저에서 키보드 이벤트를 발생시켰는데 이 이벤트로 인해서 후킹프로시저로 또 메세지가 들어옵니다..
방지코드를 넣어봐도 잘 안되서 머리싸매고 있다가 도움좀 요청 합니다 ㅠㅠ
-키다운시-
case 0x57: //w
case 0x41: //a
case 0x53: //s
case 0x44: //d
{
if(moving)
{
return 1;// 눌렸으면 키입력 무시
}
moving=TRUE;
keybd_event( keyStat->vkCode, 0, KEYEVENTF_EXTENDEDKEY , 0 );
Sleep(100); //시간지연
keybd_event( keyStat->vkCode, 0, KEYEVENTF_KEYUP , 0 );
Sleep(100);
keybd_event( keyStat->vkCode, 0, KEYEVENTF_EXTENDEDKEY , 0 );
Sleep(100);
return 1;
}
-키업시-
else if(키업)
{
if(moving)
moving=FALSE;
}
콜 넥스트 훅();
이런 식으로 해봤는데 잘 안되네요 키보드 버퍼도 비워봤는데 뭐가 잘못된 것인지
키를 한번만 눌러도 같은키를 계속해서 누르게 되버리네요 ,, 도와주세요!!ㅠㅠ