여기서는 처음 말하는 것 같은데, 저는 C++를 사용하는 도스 프로그래머입니다.
저도 얼마 전에 안 함수인데, GetAsyncKeyState(int vKey) 함수입니다.
인자로 vKey 변수를 받는데, int형이군요. 하지만 윗 3바이트는 버리고 아래 1바이트만 보니 알 게 뭐야.
vKey는 Virtual Keycode의 준말로, 가상 키코드라는 뜻입니다.
저건 도스창이 포커스가 되어 있지 않을 때도 잘 돌아가는 함수인데요,
키보드에 직접 접근?하여 상태를 알아내기 때문에 그렇습니다.
가상 키 코드표는 MSDN 같은 곳에서 전부(0에서 255까지) 구할 수 있지만 우리가 그 코드를 다 쓸 것도 아니고, 귀찮으므로 하나 만들어 봅시다.
코드는 다음과 같습니다.
#include <iostream>
#include <windows.h>
using namespace std;
void main() {
int i;
while (1) {
for (i=0; i<256; i++) {
if (GetAsyncKeyState(i) & 0x0001) {
cout << i << endl;
}
}
}
}
이것을 컴파일하고 실행하면 아무 키가 눌릴 때마다 어떤 수를 출력합니다.
사실상 마우스도 되는데, 1번이 마우스 왼쪽 키, 2번이 마우스 오른쪽 키기 때문입니다.
이것으로 우리는 매크로를 만들 수 있습니다!
저는 강좌를 잘 쓰는 편이 아니기 때문에, 알아보실 분들만 알아보시고 유용하게 쓰시리라 믿습니다.