02 Aug

mfc 키보드 입력 예제

WM_CHAR 메시지는 일반적으로 문자 입력으로 생각합니다. 문자의 데이터 형식은 UTF-16 유니코드 문자를 나타내는 wchar_t입니다. 문자 입력에는 ASCII 범위를 벗어난 문자가 포함될 수 있으며, 특히 미국 외부에서 일반적으로 사용되는 키보드 레이아웃의 경우 지역 키보드를 설치한 다음 온스크린 키보드 기능을 사용하여 다양한 키보드 레이아웃을 시도할 수 있습니다. 위의 티모시 트린켓에 대한 제 답장을 보셨습니까? 나는 당신이 게임이나 키보드 입력에 대한 DirectInput을 사용하는 다른 무언가에 대한 입력을 시뮬레이션하려고하는 경우에 특히, 당신의 문제를 해결할 수 있습니다 같은 무언가가 생각. 나는 키보드 “쐐기”를 작성하려고 예를 들어 프로그래밍 자습서를 찾고 있었다. TRS-80 모델 100 을 직렬 포트를 통해 연결 하 고 키보드로 사용 하 고 싶습니다., 키보드의 느낌을 사랑 하기 때문에. 나는 하드웨어가 USB 키보드로 설정하는 M100을 해킹하고 싶지 않아, 나는 또한 원래 설계로 그것을 계속 사용하고 싶어하기 때문에, 키보드로 사용하지 않을 때. 기본적으로, 내 아이디어는 Windows 7 PC에 직렬 포트를 통해 키 입력을 전송 하는 M100에 간단한 터미널 에뮬레이터를 실행 하는 것입니다., 다음 PC 직렬 포트에서 해당 정보를 잡아 키 입력으로 입력 스트림에 삽입. 이 샘플 코드를 해당 목적에 맞게 조정할 수 있습니까, 아니면 완전히 잘못된 장소에서 찾고 있습니까? 가장 간단한 중 하나를 주셔서 감사합니다,그물에 오류 적은 예 나는 헤더 파일 WinUser.h 가상 키 코드의 대부분에 대한 상수를 정의 발견. 예를 들어 왼쪽 화살표 키의 가상 키 코드는 VK_LEFT(0x25)입니다.

가상 키 코드의 전체 목록은 가상 키 코드를 참조하십시오. ASCII 값과 일치하는 가상 키 코드에는 상수가 정의되지 않습니다. 예를 들어 A 키의 가상 키 코드는 0x41이지만 VK_A라는 상수는 없습니다. 대신 숫자 값을 사용하십시오. 키를 누르면 하드웨어에서 검색 코드를 생성합니다. 스캔 코드는 키보드마다 다르며 키업 및 키다운 이벤트에 대한 별도의 검색 코드가 있습니다. 당신은 거의 스캔 코드에 대해 걱정하지 않습니다. 키보드 드라이버는 스캔 코드를 가상 키 코드로 변환합니다. 가상 키 코드는 장치 독립적입니다. 모든 키보드에서 A 키를 누르면 동일한 가상 키 코드가 생성됩니다.

이 프로그램은 Win32 SendInput 함수를 사용하여 시뮬레이션된 키 입력을 생성하는 간단한 예입니다. 이 프로그램을 실행하면 5초 간 기다린 다음 키보드의 “A” 키의 보도 및 릴리스를 시뮬레이션합니다.