david's daily developer note

GetAsyncKeyState 본문

[Develop] Native/Native

GetAsyncKeyState

mouse-david 2012. 2. 28. 11:50
728x90

함수 호출되는 시점에, 특정 키가 동작중인지, 중단되었는지 여부 및 키가 눌렸는지 체크한다.

if ((GetAsyncKeyState(VK_SHIFT) & 0x8000) != 0){
	return;
}

MS 공식 예제

while (GetMessage(&msg, nullptr, 0, 0))
{
    if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    switch (msg.message)
    {
    case WM_KEYDOWN:
        if ((GetAsyncKeyState(VK_ESCAPE) & 0x01) && bRunning)
        {
            Stop();
        }
        break;
    }
}

Virtual-Key 코드
https://learn.microsoft.com/ko-kr/windows/win32/inputdev/virtual-key-codes

 

가상 키 코드(Winuser.h) - Win32 apps

다음 표에서는 시스템에서 사용하는 가상 키 코드에 해당하는 기호 상수 이름, 16진수 값 및 마우스 또는 키보드를 보여 줍니다. 코드는 숫자 순서로 나열됩니다.

learn.microsoft.com

Reference: 

https://learn.microsoft.com/ko-kr/windows/win32/api/winuser/nf-winuser-getasynckeystate

 

GetAsyncKeyState 함수(winuser.h) - Win32 apps

함수가 호출될 때 키가 작동 또는 중단되었는지 여부와 GetAsyncKeyState에 대한 이전 호출 후 키를 눌렀는지 여부를 확인합니다.

learn.microsoft.com

 

728x90

'[Develop] Native > Native' 카테고리의 다른 글

주요 클래스간 참조 방법  (0) 2012.03.05
전역 마우스 좌표에서 특정 윈도우상의 좌표 변환  (0) 2012.02.29
윈도우 최소, 최대 크기 제한  (0) 2012.02.27
CAtlMap Examples  (0) 2012.02.20
CCmdUI 클래스  (0) 2012.02.20