INPUT구조체등 일부 winuser.h 관련 구문을 사용할 때 제대로 컴파일이 되지 않는 경우가 있습니다.
개인적인 경험으로는 Windows XP에서 VC 6.0을 쓸 때 나오는 것 같네요.
이럴 때의 대처법으로 소스에 #define 문으로 _WIN32_WINNT 0x0500 을 해주는 것이 널리 알려져 있으나,
헤더파일이 복잡해지고 참조하는 소스가 많아지면 이상하게 꼬여서 잘 안 될 때가 있습니다.
그 땐 그냥 간단히, Project->Settings->C/C++의 General 카테고리를 보면 아래쪽에
Preprocessor definitions가 있습니다.
그 칸의 맨 마지막에 다음을 추가해줍니다.
_WIN32_WINNT=0x0500
(물론 항목 구분자인 쉼표는 찍어주셔야겠죠)
이렇게 되면 저 정의가 프로젝트의 모든 컴파일에 먹히므로 문제가 발생하지 않습니다.
출처 : 데브피아