C언어 키 눌음 처리.

연습 2016. 7. 11. 00:00

 키 눌음 처리 이벤트로 하는 방법과 kbhit() 함수를 사용하는 방법. GetAsyncKeyState()을 이용하는 방법이 있다.


 이벤트는 앞써 설명한 방법으로 WM_KEYDOWN과 WM_KEYUP등을 이용한 방법이다.


 kbhit()은 키보드에 입력을 받았는지 확인하는 방식으로 다음과 같이 사용이 가능하다.


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
 
int main()
{
    int key;
 
    if(kbhit() != 0)
    {
        key = getch();
    }
 
    return 0;
}
cs


 GetAsyncKeyState()는 윈도우스에서 키가 눌러졌는지 확인 하는 것으로, 위에 설명한 방식은 다중 키 입력을 받을 수 없다. 하지만, 이 함수를 사용한다면, 다중으로 다운을 받을 수 있게 된다.


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <stdlib.h>
 
#include <windows.h>
 
int main(int argc, char** argv)
{
    while(1)
    {
        if(GetAsyncKeyState(VK_UP)!=0)
        {
            printf("Key Down : UP\n");
        }
        if(GetAsyncKeyState(0x41)!=0)
        {
            printf("Key Down : A\n");
        }
        if(GetAsyncKeyState(0x1B)!=0)
        {
            break;
        }
    }
    return 0;
}
 
cs


Posted by JunkMam
,