• [뻘글] 도움! Windows API 함수 중에서 현재 키보드 타입이 무엇인지 아는 함수가 있을까요?2016.01.11 AM 12:31

게시물 주소 FONT글자 작게하기 글자 키우기

현재 작업하고 있는 부분 중에 텍스트 입력란이 있습니다.

중국어 / 영어 입력을 받는데 텍스트 입력란 옆에 현재 중국어인지 영어인지 확인 할 수 있도록 되어있습니다.

문제는 중국쪽에서 중국어 / 영어를 변경하는데 키보드 타입을 변경하는 것입니다.

한국어의 한 / 영 버튼으로 바꾸는게 아니라 키보드 타입을 바꿔버리니 기존에 한 / 영 체크 방식으론 구분이 안 됩니다.

GetKeyboardLayoutName 같은 함수로 구분이 되는 경우도 있지만 그렇지 않은 경우도 있더군요.

예를 들어서 중국어 자판 중에 "US Keyboard" 가 있고 "중국어 간체 US Keyboard" 가 있습니다.

"US Keyboard"는 다른 중국어 간체 키보드 타입들과는 키보드 레이아웃 이름이 다르기 때문에 구별이 가능합니다.

문제가 되는 "중국어 간체 US Keyboard" 의 경우 다른 중국어 간체 키보드와 구별도 안되고 IME 언어 확인하는 함수로도 확인이 불가능하더군요.

한가지 방법으로 텍스트 입력란에 입력이 들어갈때 WM_IME_STARTCOMP OSITION 메시지가 들어오면 조합 언어인 중국어라는 사실로 아는 것 뿐입니다.

하지만 텍스트 입력이 들어가기 전에 어떤 언어인지 알아야하기 때문에 이건 사용할 수 없습니다.

그래서 제일 확실한 방법은 현재 설정된 키보드 타입이 무엇인지 확실히 구별하는 방법일 것입니다.

혹시 이 방법을 아시는 분이 계시면 한수 가르침을 주시기 바랍니다.
댓글 : 2 개
http://stackoverflow.com/questions/1322578/win32-api-for-getting-the-languagelocalization-info-of-the-os

아마 이걸로 어느정도 체크는 가능했던걸로 기억하는데 한번 해보세요.
내용을 보니 윈도우 언어 확인용 같아보입니다. 제가 찾는 것과는 조금 다른 듯 싶긴 하지만 테스트 해보겠습니다. 답변 감사합니다.
친구글 비밀글 댓글 쓰기