Здравствуйте, Begemotik, Вы писали:
B>Привет всем !
B>Возможно все просто, но что-то не как не могу найти в мсдне.
B>Используя GetKeyboardLayoutList получаю я список раскладок установленных в системе. Получаю разумеется идентификаторы типа 0x049049, далее мне надо вывести их пользователю для выбора, в комбобокс. Хотелось бы туда вывести строки типа руский... Как получить эти строки, собственно в этом и есть вопрос.
Эту информацию можно получить из реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
Примерно вот так:
HKL pkl[100];
int klcount = GetKeyboardLayoutList(100, pkl);
TCHAR klname[KL_NAMELENGTH];
for(int i=0; i<klcount; i++)
{
ActivateKeyboardLayout(pkl[i], 0);
GetKeyboardLayoutName(klname);
// здесь, зная название раскладки в виде "00000409", можно из реестра достать
// соответствующее ему строку типа "Russian"
}
Не уверен, что это самый простой способ, но на крайний случай сгодится.