이것은 이전 질문의 연속입니다. WinAPI: How to process keyboard input in custom edit control 질문의 성질이 약간 다르므로 다른 질문에 넣어야한다고 생각했습니다.WM_CHAR의 이상한 입력 - WinAPI
내 프로그램이 지금 입력을 받고 있지만 입력이 약간 벗어났습니다. 그래서 모든 기능은 기본적으로 자신의 유니 코드 호출
case WM_CHAR:
{
TCHAR inc;
inc = MapVirtualKey(wParam, 2);
for(short i = 0; i < sizeof(TCHAR); i++)
{
unsigned char* x = reinterpret_cast<unsigned char*>(&inc);
printf("0x%.2X ", x[i]);
}
//InvalidateRect(t_hwnd, NULL, 0); // Repaint the window...
}
break;
이 프로그램은 유니 코드로 컴파일 : 설명하는 가장 좋은 방법은 여기
는 WM_CHAR를 처리하는 코드의 ... 당신에게 코드와 결과를 보여주는 것입니다 변종.0x31로 회신 × 00 × 00 × 00 0x34 0x00으로 0x36 0x00으로
TCHAR 크기가 2 바이트, 그래서 이것은 "1 046 \"
누구나 알고에 나오는 다음과 같습니다
는 "asdf을"입력의 결과입니다 여기서 거래가 뭐야?
사실, MapVirtualKey 스캔 코드와 가상 키 코드를 모두합니다. 그것은 설명서를 잘못 읽었고 WM_CHAR은 가상 키 코드가 아닌 문자 코드를 반환합니다. 그래도 명확히 해줘서 고마워.^_ ^ – Gogeta70