Я пытаюсь выполнить интернационализацию в приложении с графическим интерфейсом WTL.. в моем обработчике изменения выбора раскрывающегося списка (который используется для выбора языка, я делаю что-то вроде этого):
int selected = (int)::SendMessage(m_cbLang, CB_GETCURSEL,0,0);
HMODULE hmod;
int retCode = 0;
switch(selected)
{
case 0:
retCode =::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_PIN, NULL, &hmod);
ATL::_AtlBaseModule.SetResourceInstance(hmod);
break;
case 1:
retCode =::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_PIN, L"GuiLibOther.dll", &hmod);
ATL::_AtlBaseModule.SetResourceInstance(hmod);
break;
}
return S_OK;
Теперь я действительно не знаю, как использовать эту функцию, хотя она здесь , я не знаю, что представляет lpModuleName. «GuiLibOther.dll» — это dll, которая содержит весь интерфейс на другом языке. Все ресурсы переведены на другой язык. Я хочу, чтобы интерфейс сразу же менял язык после выбора другого языка. это правильный путь? Случай 0 возвращает hmod = NULL