[ GetAsyncKeyState ]
이 함수는 특정 키가 눌려졌을 때(down)나 떨어졌을 때(up) 호출됩니다. GetAsyncKeyState 함수는 비 동기로 처리가 됩니다. 호출된 시점에서 키상태를 조사하여 바로 리턴을 해줍니다.
SHORT WINAPI GetAsyncKeyState(
_In_ int vKey
);
인자 값 으로는 내가 검사하고 싶은 키값을 넘겨줍니다. 예를 들어 엔터가 눌린게 알고 싶으면
if ( GetAsyncKeyState(VK_RETURN) & 0x08000)
이런식으로 호출을 해주시면 됩니다. 키에 대한 정보값은 아래 사이트를 참고 해주세요.
https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
GetAsyncKeyState 반환값 은 short형이고 최상위 비트는 현재 눌린지를 말해주고
최하위비트는 이전에 눌럿던 적이 있는지 말해줍니다.
0: 이전에 누른 적이 없고 호출시점에 안 눌린 상태 (2진수 : 0000 0000 0000 0000)
0x8000: 이전에 누른 적이 없고 호출시점에 눌린 상태 (2진수 : 1000 0000 0000 0000)
0x8001: 이전에 누른 적이 있고 호출시점에 눌린 상태 (2진수 : 1000 0000 0000 0001)
1: 이전에 누른 적이 있고 호출시점에 안 눌린 상태 (2진수 : 0000 0000 0000 0001)
여기서 "이전" 이란 GetAsyncKeyState 호출 후 또 다시 GetAsyncKeyState 호출하기 직전까지다..
[ GetKeyState ]
이 함수는 특정키의 상태를 찾아옵니다. 키가 눌렸을때 떨어졌을 때 토글의 ON,OFF상태
GetAsyncKeyState 함수와는 다르게 메시지큐에서 읽어서 리턴합니다.
SHORT WINAPI GetKeyState(
_In_ int nVirtKey
);
'프로그래밍 > MFC , WinAPI' 카테고리의 다른 글
CreateProcess 함수란 무엇인가? (0) | 2018.04.04 |
---|---|
FindWindow 함수란 무엇인가? (0) | 2018.03.18 |
MSG 구조체 란? (0) | 2018.03.14 |
PreTranslateMessage 함수란 무엇인가? (0) | 2018.03.14 |
LoadImage 함수란 무엇인가. (0) | 2018.03.12 |