Интересует метод определения локализации Windows 7 на с++(не локали, а именно языка интерфейса), например "Пуск" в русской версии, "Start" - в английской.
Подозреваю, что эти строки где-то хранятся, вот только где и как их извлечь?
Вот получилось
#include <iostream>
#include <Windows.h>
using namespace std;
int main(){
int ret;
ret = GetSystemDefaultLangID();
if (ret == 1049)
cout << "is type os russian interface" << endl;
else
cout << "is type os not russian interface" << endl;
return 0;
}
В настройках проекта не забудьте включить Использовать MFC в общей DLL, чтоб ошибок не было.
Текущий язык интерфейса: HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages
Языковые пакеты находятся в самой папке windows и обычно имеют имя самого пакета, к примеру: en\_EN, fr\_FR, ru\_RU
. В этих папках содержатся бинарные файлы с расширением .mui (Multilingual User Interface File), которые, по идее, как раз содержат строки локализации интерфейса windows. Правда, можно ли их использовать и как, не знаю.
UPD 1
По примеру @perfect нашел, что данную опцию выбора пакета языка так же выводит GetSystemDefaultUILanguage(). Информацию по использованию Multilingual User Interface File можно начать искать отсюда.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите подходящий сигнал для редактирования БДНеобходимо сразу после редактирования пользователем ячейки таблицы послать запрос в БД об изменении...