1
키보드의 입력 언어를 모두 찾으려면 LEFT ALT + SHIFT를 사용하여 전환해야합니다.C++/Win32 모든 키보드 입력 언어를 찾으십니까?
기본 로케일과 설치/지원 로케일을 win API로 얻을 수 있지만 키보드의 입력 로케일에 대해서는 아무 것도 찾을 수 없습니다.
키보드의 입력 언어를 모두 찾으려면 LEFT ALT + SHIFT를 사용하여 전환해야합니다.C++/Win32 모든 키보드 입력 언어를 찾으십니까?
기본 로케일과 설치/지원 로케일을 win API로 얻을 수 있지만 키보드의 입력 로케일에 대해서는 아무 것도 찾을 수 없습니다.
GetKeyboardLayoutList 기능을 사용해야합니다.
UINT uLayouts;
HKL *lpList = NULL;
wchar_t szBuf[512];
uLayouts = GetKeyboardLayoutList(0, NULL);
lpList = (HKL*)LocalAlloc(LPTR, (uLayouts * sizeof(HKL)));
uLayouts = GetKeyboardLayoutList(uLayouts, lpList);
for(int i = 0; i < uLayouts; ++i)
{
GetLocaleInfo(MAKELCID(((UINT)lpList[i] & 0xffffffff),
SORT_DEFAULT), LOCALE_SLANGUAGE, szBuf, 512);
wprintf(L"%s\n", szBuf);
memset(szBuf, 0, 512);
}
if(lpList)
LocalFree(lpList);
감사 :
예를 들어, 콘솔의 출력에 모든 키보드 입력 언어는이 코드를 사용할 수 있습니다! 훌륭하게 작동합니다. – user1581390