多语言切换问题

kingbird 2003-02-23 04:50:46
我用不同的dll实现多语言资源,但是在切换语言时,不能动态的加载语言资源dll.
每次都要重新启动程序,请问能否不重新启动程序,实现动态的加载语言资源dll。
...全文
91 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
demetry 2003-02-23
  • 打赏
  • 举报
回复
一个完整的例子

http://www.codeproject.com/cpp/mult_lang_support.asp
demetry 2003-02-23
  • 打赏
  • 举报
回复
AfxSetResourceHandle(hResourceDll);


加载的资源如何卸载?
kingbird 2003-02-23
  • 打赏
  • 举报
回复
现在代码如下


char szProgramPath[512] = {0};
if (GetModuleFileName(NULL, szProgramPath,
sizeof(szProgramPath)/sizeof(char)-1) != 0)
{
char *pchSplit = strrchr(szProgramPath, '\\');
if (pchSplit != NULL)
memset(pchSplit, 0, strlen(pchSplit));

string strLanguage;
strLanguage = GetReg(ADMIN_REGKEYNAME, "Language");
if (strcmp(strLanguage.c_str(), "chinese_gb") == 0)
{
strcat(szProgramPath, "\\language\\chinese_gb.dll");
hResourceDll = LoadLibrary(szProgramPath);
}
else if (strcmp(strLanguage.c_str(), "chinese_big5") == 0)
{
strcat(szProgramPath, "\\language\\chinese_gb.dll");
hResourceDll = LoadLibrary(szProgramPath);
}
else
hResourceDll = NULL;

if (hResourceDll)
{
AfxSetResourceHandle(hResourceDll);
strcpy(szLanguage, strLanguage.c_str());
}
else
strcpy(szLanguage, "english");

}
else
{
strcpy(szLanguage, "english");
}
2i3i4i 2003-02-23
  • 打赏
  • 举报
回复
动态包含dll
LoadLibrary(...)
FreeLibrary(...)

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧