SHORT GetAsyncKeyState(int vKey);
GetAsyncKeyState 함수는 키보드의 키가 눌러졌는지를 비동기적으로 확인하는 함수로, Windows 운영체제에서 제공됩니다. 이 함수는 다음과 같은 매개변수를 받습니다.
- vKey: 확인할 키의 가상 키 코드입니다. 예를 들어 VK_LBUTTON은 왼쪽 마우스 버튼을 나타냅니다.
가상 키 코드는 키보드의 각 키에 할당된 고유한 숫자 값으로, Windows에서는 0부터 255까지의 값을 사용합니다. 예를 들어, 'A' 키의 가상 키 코드는 65이고, 'B' 키의 가상 키 코드는 66입니다.
이 함수는 다음과 같은 값을 반환합니다.
- -32767: 키가 눌러지지 않았습니다.
- 0: 키가 눌러졌지만, 아직 처리되지 않았습니다.
- 양수: 키가 눌러졌고, 이미 처리되었습니다.
반환 값이 양수인 경우, 해당 키가 눌러진 상태임을 의미합니다. 이때, 반환 값은 키가 눌러진 시간에 따라 달라집니다.
다음은 GetAsyncKeyState 함수를 사용하는 예시입니다
#include <iostream>
#include <Windows.h>
int main() {
while (true) {
if (GetAsyncKeyState(VK_LEFT)) {
std::cout << "Left key pressed" << std::endl;
}
if (GetAsyncKeyState(VK_RIGHT)) {
std::cout << "Right key pressed" << std::endl;
}
}
return 0;
}
위의 코드는 'Left' 키와 'Right' 키가 눌러졌는지를 확인하고, 해당 키가 눌러진 경우 메시지를 출력하는 예시입니다.
GetAsyncKeyState 함수는 키가 눌러진 상태를 실시간으로 확인할 수 있기 때문에, 게임이나 그래픽 프로그램 등에서 많이 사용됩니다. 하지만, 이 함수는 키가 눌러진 시간을 정확하게 파악할 수 없기 때문에, 키가 연속적으로 눌러진 경우에는 처리가 어려울 수 있습니다.
반응형
'IT·컴퓨터' 카테고리의 다른 글
[펌] 네, 정말 C는 C++보다 빠릅니다. (1) | 2024.04.02 |
---|---|
MFC 애플리케이션을 종료하지 않고 유지하는 일반적인 기술 (0) | 2024.04.01 |
MSVCP140.dll과 C++ 런타임 라이브러리 (0) | 2024.03.27 |
Windows 11, 오른쪽 시계 옆에 아이콘 안 나올 때( 시스템 트레이 ) (0) | 2024.03.23 |
[C++] for 반복문에서의 auto 구문 (0) | 2024.03.22 |